Exemplo n.º 1
0
        public string InsertAppointment(Model.Appointment appointment)
        {
            try
            {
                appointment.StartTime = this.ConvertTimeZone(appointment.StartTime);
                appointment.EndTime   = this.ConvertTimeZone(appointment.EndTime);
                using (BMAContext context = new BMAContext())
                {
                    var validAppointment = context.Appointments.Any(x => x.Employee_ID == appointment.Employee_ID && (x.StartTime >= appointment.StartTime && x.StartTime <= appointment.EndTime || x.EndTime >= appointment.StartTime && x.EndTime <= appointment.EndTime));

                    if (validAppointment)
                    {
                        return("Appointment already booked for these dates");
                    }

                    context.Appointments.Add(new Appointment
                    {
                        Employee_ID = appointment.Employee_ID,
                        Company_ID  = appointment.Company_ID,
                        StartTime   = appointment.StartTime,
                        EndTime     = appointment.EndTime,
                        Info        = appointment.Info
                    });
                    context.SaveChanges();
                }
                return(string.Empty);
            }
            catch (Exception ex)
            {
                return("error: " + ex.Message);
            }
        }
Exemplo n.º 2
0
        public IEnumerable <Model.Employee> GetEmployees(int companyId)
        {
            IEnumerable <Model.Employee> employees;

            try
            {
                using (BMAContext context = new BMAContext())
                {
                    employees = (from emp in context.Employees
                                 join contact in context.ContactInfoes on emp.Employee_ID equals contact.Employee_ID
                                 where emp.Company_ID.Equals(companyId)
                                 select new Model.Employee
                    {
                        Employee_ID = emp.Employee_ID,
                        FirstName = emp.FirstName,
                        SurName = emp.SurName,
                        EmailAddress = contact.EmailAddress
                    }).OrderBy(e => e.FirstName).ToList();
                }
            }
            catch (Exception)
            {
                return(null);
            }
            return(employees);
        }
Exemplo n.º 3
0
        public string UpdateEmployee(Model.Employee employee)
        {
            try
            {
                using (BMAContext context = new BMAContext())
                {
                    var validUser = context.Employees.Any(x => x.Company_ID == employee.Company_ID && x.FirstName.Equals(employee.FirstName) && x.SurName.Equals(employee.SurName) && x.Employee_ID != employee.Employee_ID);

                    if (validUser)
                    {
                        return("Name already exists");
                    }

                    validUser = context.Employees.Any(x => x.UserName == employee.UserName && x.Employee_ID != employee.Employee_ID);

                    if (validUser)
                    {
                        return("User Name already exists");
                    }

                    validUser = context.ContactInfoes.Any(x => x.EmailAddress == employee.EmailAddress && x.ContactInfo_ID != employee.ContactInfo_ID);

                    if (validUser)
                    {
                        return("Email already exists");
                    }

                    var updateEmp = context.Employees.Where(e => e.Employee_ID == employee.Employee_ID).FirstOrDefault();
                    if (updateEmp != null)
                    {
                        updateEmp.Company_ID = employee.Company_ID;
                        updateEmp.FirstName  = employee.FirstName;
                        updateEmp.SurName    = employee.SurName;
                        updateEmp.UserName   = employee.UserName;
                        updateEmp.Password   = employee.Password;

                        var updateContact = context.ContactInfoes.Where(c => c.Employee_ID == employee.Employee_ID).FirstOrDefault();
                        if (updateContact != null)
                        {
                            updateContact.Employee_ID  = employee.Employee_ID;
                            updateContact.EmailAddress = employee.EmailAddress;
                            updateContact.MobileNumber = employee.MobileNumber;
                            updateContact.WorkNumber   = employee.WorkNumber;
                        }
                        context.SaveChanges();
                    }
                }
                return("Success");
            }
            catch (Exception ex)
            {
                return("error: " + ex.Message);
            }
        }
Exemplo n.º 4
0
        public string InsertEmployee(Model.Employee employee)
        {
            try
            {
                using (BMAContext context = new BMAContext())
                {
                    var validUser = context.Employees.Any(x => x.Company_ID == employee.Company_ID && x.FirstName.Equals(employee.FirstName) && x.SurName.Equals(employee.SurName));

                    if (validUser)
                    {
                        return("Name already exists");
                    }

                    validUser = context.Employees.Any(x => x.UserName == employee.UserName);

                    if (validUser)
                    {
                        return("User Name already exists");
                    }

                    validUser = context.ContactInfoes.Any(x => x.EmailAddress == employee.EmailAddress);

                    if (validUser)
                    {
                        return("Email already exists");
                    }

                    var newEmp = new Employee();
                    newEmp.Company_ID = employee.Company_ID;
                    newEmp.FirstName  = employee.FirstName;
                    newEmp.SurName    = employee.SurName;
                    newEmp.UserName   = employee.UserName;
                    newEmp.Password   = employee.Password;
                    context.Employees.Add(newEmp);
                    context.SaveChanges();
                    employee.Employee_ID = newEmp.Employee_ID;

                    context.ContactInfoes.Add(new ContactInfo
                    {
                        Employee_ID  = employee.Employee_ID,
                        EmailAddress = employee.EmailAddress,
                        MobileNumber = employee.MobileNumber,
                        WorkNumber   = employee.WorkNumber
                    });
                    context.SaveChanges();
                }
                return("Success");
            }
            catch (Exception ex)
            {
                return("error: " + ex.Message);
            }
        }
Exemplo n.º 5
0
 public string DeleteAppointment(int appointmentId)
 {
     try
     {
         using (BMAContext context = new BMAContext())
         {
             var appointment = context.Appointments.Where(a => a.Appointment_ID.Equals(appointmentId)).FirstOrDefault();
             context.Appointments.Remove(appointment);
             context.SaveChanges();
         }
         return(string.Empty);
     }
     catch (Exception ex)
     {
         return("error:" + ex.Message);
     }
 }
Exemplo n.º 6
0
        public IEnumerable <Model.Appointment> GetAppointments(int userId)
        {
            IEnumerable <Model.Appointment> appointments;

            try
            {
                using (BMAContext context = new BMAContext())
                {
                    int companyId = 0;
                    var isAdmin   = context.UserRoles.Any(r => r.Employee_ID.Equals(userId) && r.Role_ID.Equals((int)Model.Enums.RoleTypeEnum.RoleType.Admin));
                    if (isAdmin)
                    {
                        companyId = context.Employees.FirstOrDefault(e => e.Employee_ID.Equals(userId)).Company_ID;
                    }
                    appointments = (from appoint in context.Appointments
                                    join emp in context.Employees on appoint.Employee_ID equals emp.Employee_ID
                                    join userrole in context.UserRoles on emp.Employee_ID equals userrole.Employee_ID
                                    join contact in context.ContactInfoes on emp.Employee_ID equals contact.Employee_ID
                                    where (isAdmin) ? appoint.Company_ID.Equals(companyId) : appoint.Employee_ID.Equals(userId)
                                    select new Model.Appointment
                    {
                        Appointment_ID = appoint.Appointment_ID,
                        Company_ID = appoint.Company_ID,
                        Employee_ID = appoint.Employee_ID,
                        FirstName = emp.FirstName,
                        SurName = emp.SurName,
                        UserName = emp.UserName,
                        EmailAddress = contact.EmailAddress,
                        MobileNumber = contact.MobileNumber,
                        WorkNumber = contact.WorkNumber,
                        StartTime = appoint.StartTime,
                        EndTime = appoint.EndTime,
                        FullName = emp.FirstName + " " + emp.SurName,
                        Info = appoint.Info
                    }).OrderBy(e => e.Employee_ID).ToList();
                }
            }
            catch (Exception ex)
            {
                return(null);
            }
            return(appointments);
        }
Exemplo n.º 7
0
 public Model.Employee Login(string username, string password)
 {
     Model.Employee employee = new Model.Employee();
     using (BMAContext context = new BMAContext())
     {
         employee = (from user in context.Employees
                     join userRole in context.UserRoles on user.Employee_ID equals userRole.Employee_ID
                     join role in context.Roles on userRole.Role_ID equals role.Role_ID
                     where user.UserName == username && user.Password == password
                     select new Model.Employee
         {
             Employee_ID = user.Employee_ID,
             FirstName = user.FirstName,
             SurName = user.SurName,
             UserName = user.UserName,
             Role_ID = userRole.Role_ID,
             RoleName = role.Role1,
             Company_ID = user.Company_ID
         }).FirstOrDefault();
     }
     return(employee);
 }
Exemplo n.º 8
0
        public string UpdateAppointment(Model.Appointment appointment)
        {
            try
            {
                using (BMAContext context = new BMAContext())
                {
                    appointment.StartTime = this.ConvertTimeZone(appointment.StartTime);
                    appointment.EndTime   = this.ConvertTimeZone(appointment.EndTime);

                    var validAppointment = context.Appointments.Any(x => x.Employee_ID == appointment.Employee_ID && (x.StartTime >= appointment.StartTime && x.StartTime <= appointment.EndTime || x.EndTime >= appointment.StartTime && x.EndTime <= appointment.EndTime) && x.Appointment_ID != appointment.Appointment_ID);

                    if (validAppointment)
                    {
                        return("Appointment already booked for these times");
                    }

                    var updateAppointment = context.Appointments.Where(a => a.Appointment_ID == appointment.Appointment_ID).FirstOrDefault();

                    if (updateAppointment != null)
                    {
                        updateAppointment.Employee_ID = appointment.Employee_ID;
                        updateAppointment.Company_ID  = appointment.Company_ID;
                        updateAppointment.StartTime   = appointment.StartTime;
                        updateAppointment.EndTime     = appointment.EndTime;
                        updateAppointment.Info        = appointment.Info;
                    }

                    context.SaveChanges();
                }
                return(string.Empty);
            }
            catch (Exception ex)
            {
                return("error: " + ex.Message);
            }
        }
Exemplo n.º 9
0
        public IEnumerable <Model.Appointment> GetAppointmentsByCompany(int companyId)
        {
            IEnumerable <Model.Appointment> appointments;

            try
            {
                using (BMAContext context = new BMAContext())
                {
                    appointments = (from appoint in context.Appointments
                                    join emp in context.Employees on appoint.Employee_ID equals emp.Employee_ID
                                    join userrole in context.UserRoles on emp.Employee_ID equals userrole.Employee_ID
                                    join contact in context.ContactInfoes on emp.Employee_ID equals contact.Employee_ID
                                    where appoint.Company_ID.Equals(companyId)
                                    select new Model.Appointment
                    {
                        Appointment_ID = appoint.Appointment_ID,
                        Company_ID = appoint.Company_ID,
                        Employee_ID = appoint.Employee_ID,
                        FirstName = emp.FirstName,
                        SurName = emp.SurName,
                        UserName = emp.UserName,
                        EmailAddress = contact.EmailAddress,
                        MobileNumber = contact.MobileNumber,
                        WorkNumber = contact.WorkNumber,
                        StartTime = appoint.StartTime,
                        EndTime = appoint.EndTime,
                        Info = appoint.Info
                    }).OrderBy(e => e.Employee_ID).ToList();
                }
            }
            catch (Exception ex)
            {
                return(null);
            }
            return(appointments);
        }