public bool Edit(Settings _details) { try { User user = _userDAL.GetById(_details.User.childId); if (user != null) { if (_details.User.userName != null) { user.userName = _details.User.userName; } if (_details.User.email != null) { user.email = _details.User.email; } if (_details.User.password != null) { user.password = _details.User.password; } _userDAL.Edit(user); } else { return(false); } //guardian for spesific user List <guardiansToUser> guardiansToUser = _gurdiansToUser_DAL.GetByUser(user.Id); if (guardiansToUser.Count != 0) { for (int i = 0; i < _details.Guardians.Count; i++) { if (guardiansToUser.FirstOrDefault(g => g.Id == _details.Guardians[i].Id) != null)//if guardian exist in DB { //map Guardian guardianToMap = _guardiansDAL.Get(_details.Guardians[i].Id); guardianToMap.guardianName = _details.Guardians[i].guardianName; guardianToMap.PhoneNumber = _details.Guardians[i].PhoneNumber; _guardiansDAL.Edit(guardianToMap); } else { //add Guardian guardianToAdd = new Guardian(); guardianToAdd.PhoneNumber = _details.Guardians[i].PhoneNumber; guardianToAdd.guardianName = _details.Guardians[i].guardianName; long guardianID = _guardiansDAL.Add(guardianToAdd); _gurdiansToUser_DAL.Add(new guardiansToUser { guardianId = guardianID, userId = user.Id }); } } } else { return(false); } //map time for madicine List <MedicinesToChild> medicinesToChildList = _medicinesToChild_DAL.GetByUser(user.Id); for (int i = 0; i < medicinesToChildList.Count; i++) { List <TimeToMedicinesForChild> timeToMedicinesForChildrenList = _timeToMedicinesForChild_DAL.GetByMedicineToChild(medicinesToChildList[i].Id); var timeToMedicinesForChildrenListgroup = timeToMedicinesForChildrenList.GroupBy(t => t.idTimeOfDay).Select(t => t.ToList()).ToList(); for (int key = 0; key < timeToMedicinesForChildrenListgroup.Count; key++) { long idTimeOfDay = timeToMedicinesForChildrenListgroup[key].ToList()[0].idTimeOfDay; TimeOfDay timeOfDay = _timeOfDay_DAL.GetByTimeId(idTimeOfDay); TimeOfDay timeOfDayToEdit = _details.TimeOfDays.FirstOrDefault(t => t.timeCode == timeOfDay.timeCode); timeOfDay.theTime = timeOfDayToEdit.theTime; //for (int a = 1; a <= 4; a++) //{ // TimeOfDay timeOfDayToEdit = _details.TimeOfDays.FirstOrDefault(t => t.timeCode == a); // timeOfDay.theTime = timeOfDayToEdit.theTime; // timeOfDay.theTime = timeOfDayToEdit.theTime; //} } } TimeOfAlertForUser timeOfAlertForUser = new TimeOfAlertForUser() { snooze = new Snooze() { userId = user.Id, snoozeCounter = (int)user.snoozeCounter, snoozePeriod = (int)user.snoozePeriod }, timeOfDay = _details.TimeOfDays }; //if (!Alert_BL.EditSnoozeToUser( timeOfAlertForUser)) // return false; } catch (Exception e) { return(false); } return(true); }