/// <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); } }
/// <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); } }