forked from ebhomengo/niki
50 lines
1.0 KiB
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)
|
|
}
|
|
|
|
}
|