Exemplo n.º 1
0
 /// <summary>
 ///     Adding or Updating Customer in a database
 /// </summary>
 /// <param name="customer">Business Object Customer</param>
 /// <returns>True if succeeded and false otherwise</returns>
 public async Task <bool> SaveCustomer(DtoCustomer customer)
 {
     try
     {
         using (var data = Context)
         {
             var c =
                 await
                     (from item in data.Customer where customer.Id == item.id select item).FirstOrDefaultAsync();
             // Updating Customer
             if (c != null)
             {
                 c.name                   = customer.Name;
                 c.surname                = customer.Surname;
                 c.street                 = customer.Street;
                 c.postalCode             = customer.PostalCode;
                 c.phoneNumber            = customer.PhoneNumber;
                 c.personalIdentityNumber = customer.PersonalIdentityNumber;
                 c.identityCardNumber     = customer.IdentityCardNumber;
                 c.icePhoneNumber         = customer.IcePhoneNumber;
                 c.houseNumber            = customer.HouseNumber;
                 c.email                  = customer.Email;
                 c.city                   = customer.City;
                 c.apartmentNumber        = customer.ApartmentNumber;
                 c.password               = AuthenticationLogic.HashPassword(customer.Password, customer);
             }
             // Adding new Customer
             else
             {
                 if (
                     await
                         (from item in data.Customer
                         where customer.PersonalIdentityNumber == item.personalIdentityNumber
                         select item).AnyAsync())
                 {
                     return(false);
                 }
                 data.Customer.Add(CustomerConverter.DtoToDataAccess(customer));
             }
             await data.SaveChangesAsync();
         }
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Exemplo n.º 2
0
 /// <summary>
 ///     Adding or Updating Employee in a database
 /// </summary>
 /// <param name="employee">Business Object Employee</param>
 /// <returns>True if succeeded and false otherwise</returns>
 public async Task <bool> SaveEmployee(DtoEmployee employee)
 {
     try
     {
         using (var data = Context)
         {
             var e =
                 await
                     (from item in data.Employee where employee.Id == item.id select item).FirstOrDefaultAsync();
             // Updating Employee
             if (e != null)
             {
                 e.name                   = employee.Name;
                 e.surname                = employee.Surname;
                 e.street                 = employee.Street;
                 e.postalCode             = employee.PostalCode;
                 e.phoneNumber            = employee.PhoneNumber;
                 e.personalIdentityNumber = employee.PersonalIdentityNumber;
                 e.identityCardNumber     = employee.IdentityCardNumber;
                 e.icePhoneNumber         = employee.IcePhoneNumber;
                 e.houseNumber            = employee.HouseNumber;
                 e.email                  = employee.Email;
                 e.city                   = employee.City;
                 e.apartmentNumber        = employee.ApartmentNumber;
                 e.description            = employee.Description;
                 e.positionID             = employee.Position.Id;
                 e.supervisorID           = employee.SupervisorId;
                 e.password               = AuthenticationLogic.HashPassword(employee.Password, employee);
                 e.SportType.Clear();
                 foreach (var item in employee.SportTypes)
                 {
                     var st = data.SportType.First(s => s.id == item.Id);
                     e.SportType.Add(st);
                 }
             }
             // Adding new Employee
             else
             {
                 if (await(from item in data.Employee
                           where
                           employee.PersonalIdentityNumber == item.personalIdentityNumber ||
                           employee.IdentityCardNumber == item.identityCardNumber
                           select item).AnyAsync())
                 {
                     return(false);
                 }
                 var emp = EmployeeConverter.DtoToDataAccess(employee);
                 foreach (var item in employee.SportTypes)
                 {
                     var st = data.SportType.First(s => s.id == item.Id);
                     emp.SportType.Add(st);
                 }
                 data.Employee.Add(emp);
             }
             await data.SaveChangesAsync();
         }
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }