niki/staffapp/service/service.go

50 lines
1.0 KiB
Go

package service
import (
"errors"
"fmt"
)
func (s *StaffService) RegisterStaff(id int, name string, lastname string, phonenumber string) (Staff, error) {
for _, staff := range s.Staffs {
if staff.PhoneNumber == phonenumber {
return Staff{}, errors.New("This number is already in use")
}
}
newID := s.NextID
s.NextID++
newStaff := Staff{
ID: newID,
Name: name,
LastName: lastname,
PhoneNumber: phonenumber,
}
s.Staffs = append(s.Staffs, newStaff)
return newStaff, nil
}
func (s *StaffService) DeleteStaff(phoneNumber string) {
for i, n := range s.Staffs {
if phoneNumber == n.PhoneNumber {
s.Staffs = append(s.Staffs[:i], s.Staffs[i+1:]...)
}
}
}
func (s *StaffService) ListStaff() []Staff {
return s.Staffs
}
func (s *StaffService) PrintStaffs() {
if len(s.Staffs) == 0 {
fmt.Println("There is no staff yet")
}
for _, staff := range s.Staffs {
fmt.Printf("ID: %d, Name:%s %s,Phone number:%s", staff.ID, staff.Name, staff.LastName, staff.PhoneNumber)
}
}