public bool RegisterForMobileNotifications([FromUri(Name = "")] MobileRegistration mobileRegistration) { int staffId = 0; //Exception exception = new Exception(); bool updated = false; if (mobileRegistration.StaffId == 0) { staffId = ((CurrentLoggedInStaff)HttpContext.Current.Session["CurrentStaff"]).StaffId; mobileRegistration.StaffId = staffId; } if (!_repo.IsMobileUser(mobileRegistration.StaffId)) { updated = false; } else { var value = _repo.RegisterForMobileNotifications(mobileRegistration); if ((int)value > 0) { updated = true; } } return(updated); }
public void Post([FromBody] MobileRegistration token) { int userId = Classes.User.GetObjects().FirstOrDefault(x => x.Username == token.Username).UserId; Device device = Device.GetObjects().FirstOrDefault(x => x.UserId == userId); if (device != null) { device.DeviceToken = token.Token; device.LastLoginDate = DateTime.Now; device.DeviceName = string.Empty; device.Update(); } else { Device willInsertDevice = new Device(); willInsertDevice.UserId = userId; willInsertDevice.DeviceToken = token.Token; willInsertDevice.LastLoginDate = DateTime.Now; willInsertDevice.DeviceName = string.Empty; willInsertDevice.InsertDB(); } }
void SendRegistrationToServer(string token) { try { string username = GlobalSettings.username; if (!string.IsNullOrEmpty(username)) { MobileRegistration tok = new MobileRegistration(); tok.Username = username;; tok.Token = token; Classes.Device.SaveToken(tok); //tok.Process = "Register"; //new TokenHelper().Save(tok).Wait(); } } catch (Exception ex) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.SetTitle(ex.Message); Dialog dialog = builder.Create(); dialog.Show(); } }
/// <summary> /// Update RegisterForMobileNotifications flag in StaffPreferences table /// <returns></returns> public int RegisterForMobileNotifications(MobileRegistration mobileRegistration) { int affectedRows = 0; using (var dbTransaction = _scEntity.Database.BeginTransaction()) { try { var createdBy = HttpContext.Current.Session["CurrentStaff"] == null ? "MobileApi" : ((CurrentLoggedInStaff)HttpContext.Current.Session["CurrentStaff"]).UserCode; var staff = _scEntity.StaffPreferences .Where(s => s.StaffId == mobileRegistration.StaffId).FirstOrDefault(); staff.RegisteredForMobileNotifications = mobileRegistration.RegisteredForMobileNotifications; staff.RegisteredForEmailNotifications = mobileRegistration.RegisteredForEmailNotifications; staff.RegisteredForSMSNotifications = mobileRegistration.RegisteredForSMSNotifications; staff.ModifiedBy = "MobileApi"; staff.ModifiedDate = DateTime.Now; staff.RegisteredForMobileNotificationsTimeStamp = DateTime.Now; if (_scEntity.MobileDevices.Any(d => d.MobileDeviceIdentifier == mobileRegistration.MobileDeviceIdentifier && d.StaffId == mobileRegistration.StaffId)) { var mdevices = _scEntity.MobileDevices .Where(d => d.MobileDeviceIdentifier == mobileRegistration.MobileDeviceIdentifier && d.StaffId == mobileRegistration.StaffId) .FirstOrDefault(); mdevices.MobileDeviceName = mobileRegistration.MobileDeviceName; mdevices.MobileSubscriptionIdentifier = mobileRegistration.MobileSubscriptionIdentifier; mdevices.SubscribedForPushNotifications = mobileRegistration.SubscribedForPushNotifications; mdevices.ModifiedBy = createdBy; mdevices.ModifiedDate = DateTime.Now; } else { MobileDevice mobileDevice = new MobileDevice(); mobileDevice.MobileDeviceName = mobileRegistration.MobileDeviceName; mobileDevice.MobileDeviceIdentifier = mobileRegistration.MobileDeviceIdentifier; mobileDevice.MobileSubscriptionIdentifier = mobileRegistration.MobileSubscriptionIdentifier; mobileDevice.SubscribedForPushNotifications = mobileRegistration.SubscribedForPushNotifications; mobileDevice.StaffId = mobileRegistration.StaffId; mobileDevice.CreatedBy = mobileDevice.ModifiedBy = createdBy; mobileDevice.ModifiedDate = mobileDevice.CreatedDate = DateTime.Now; _scEntity.MobileDevices.Add(mobileDevice); } affectedRows = _scEntity.SaveChanges(); if (affectedRows > 0) { dbTransaction.Commit(); } } catch (Exception ex) { dbTransaction.Rollback(); throw ex; } } return(affectedRows); }