public void Update(UpdateListMedicines _details) { //עדכון סטטוס התרופות לאחר שהמשתמש אישר שלקח אותם List <MedicinesToChild> _medicinesToChild = _medicinesToChild_DAL.GetByUserInSomeTime(_details.CodeTimeToUser); List <ArchiveTakeMedicine> archives = _archiveDAL.GetToDay(_details.CodeTimeToUser.UserID); foreach (var _medicines in _medicinesToChild) { if (_details.ListMedicines.Find(m => m.Id == _medicines.Id).Status) { TimeToMedicinesForChild timeToMedicinesForChild = _medicines.TimeToMedicinesForChilds.First(m => m.TimeOfDay.timeCode == _details.CodeTimeToUser.TimeOfDay); timeToMedicinesForChild.status = true; _TimeToMedicinesForChild_DAL.Edit(timeToMedicinesForChild); ArchiveTakeMedicine archiveTake = archives.Find(a => a.medicineToChild == timeToMedicinesForChild.Id); archiveTake.time = DateTime.Now.TimeOfDay; //archiveTake.onTime = !(_details.CountSnooze > timeToMedicinesForChild.MedicinesToChild.User.snoozeCounter); User user = _User_DAL.GetByIdentity(_details.CodeTimeToUser.UserID); int maxMinute = (int)user.snoozePeriod * (int)user.snoozeCounter; TimeSpan temp = new TimeSpan(0, maxMinute, 0); TimeSpan maxTime = timeToMedicinesForChild.TimeOfDay.theTime.Add(temp); temp = DateTime.Now.TimeOfDay; //if (_details.CountSnooze <= timeToMedicinesForChild.MedicinesToChild.User.snoozeCounter / 2) if (maxTime >= DateTime.Now.TimeOfDay) { temp = timeToMedicinesForChild.TimeOfDay.theTime; int count = 0; bool flag = true; while (flag) { temp.Add(new TimeSpan(0, (int)user.snoozePeriod, 0)); count++; if (temp >= DateTime.Now.TimeOfDay) { flag = false; } } if (count <= timeToMedicinesForChild.MedicinesToChild.User.snoozeCounter / 2) { user.points += 2; } //if(temp <= timeToMedicinesForChild.TimeOfDay.theTime.Add(new TimeSpan(0,(int)timeToMedicinesForChild.MedicinesToChild.User.snoozeCounter / 2* (int)timeToMedicinesForChild.MedicinesToChild.User.snoozePeriod,0))) else { user.points += 1; } archiveTake.onTime = true; //למחוק מההתראות Alert_BL.RemoveSnooze(_details.CodeTimeToUser); } else { archiveTake.onTime = false; } //else if (_details.CountSnooze <= timeToMedicinesForChild.MedicinesToChild.User.snoozeCounter) _User_DAL.Edit(user); _archiveDAL.Edit(archiveTake); } } }
public void AddOrEdit(User details) { if (details.Id == 0) { _User_DAL.Add(details); } else { _User_DAL.Edit(details); } }
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); }