private void prndingOrder() { var date = DateTime.UtcNow.ToString("MM/dd/yyyy"); var date3 = db.PM_Order.ToList(); foreach (var k in date3) { var test = k.CreatedDate; var tesdnkdnk = db.PM_Order.Where(x => x.CreatedDate == test).ToList(); } var item = db.CM_User_Notification.Where(x => x.PendingDate == date && x.PendingOrderStatus == false).ToList(); if (item.Count > 0) { foreach (var i in item) { CM_User_Notification model = new CM_User_Notification(); var PoNo = db.PM_Order.Where(x => x.ID == i.orderID).Select(x => x.ORAPoNumber).FirstOrDefault(); model.EntityID = i.EntityID; model.ActorID = i.ActorID; model.AttributeName = i.AttributeName; model.CreatedOn = i.CreatedOn; model.FromValue = i.FromValue; model.IsSentInMail = i.IsSentInMail; model.IsViewed = i.IsViewed; model.orderStatus = i.orderStatus; model.PendingDate = i.PendingDate; model.PendingOrderStatus = i.PendingOrderStatus; model.ToValue = i.ToValue; model.TypeID = i.TypeID; model.TypeName = i.TypeName; model.UserID = i.UserID; model.orderID = model.orderID; model.Content = PoNo + "" + "This Order Is Pending From Supplier"; db.CM_User_Notification.Add(model); db.SaveChanges(); } } }
private bool SendNotification(long orderid, int ToValue) { string uname = (string)User.Identity.Name; bool SendEmailNotification = Convert.ToBoolean(db.Users.Where(x => x.Email == User.Identity.Name).Select(x => x.IsEmailNotificationActive).FirstOrDefault()); var item = db.PM_Order.Where(x => x.ID == orderid).FirstOrDefault(); if (item != null) { var ToEmail = db.Users.Where(x => x.Id == ToValue).Select(x => x.Email).FirstOrDefault(); var IsEmailActive = db.Users.Where(x => x.Id == ToValue).Select(x => x.IsEmailNotificationActive).FirstOrDefault(); //var SupplierEmail = db.Users.Where(x => x.Id == item.SupplierID).Select(x => x.Email).FirstOrDefault(); var AttributeName = db.Users.Where(x => x.Id == item.ReqUID).Select(x => x.FirstName).FirstOrDefault(); var userType = db.Users.Where(x => x.UserName == uname).Select(x => x.UserType).FirstOrDefault(); CM_User_Notification model = new CM_User_Notification(); model.orderStatus = item.Status; model.UserID = Convert.ToInt32(User.Identity.GetUserId()); model.TypeName = userType; model.orderID = (int)orderid; model.PendingOrderStatus = false; model.AttributeName = AttributeName; model.CreatedOn = System.DateTime.Now.ToString("dd/MM/yyyy h:mm tt"); model.IsViewed = false; model.Content = "Order" + " " + item.ORAPoNumber + "Has Been" + " " + item.Status; model.PendingDate = DateTime.Now.AddDays(30).ToString("MM/dd/yyyy"); model.EntityID = Convert.ToInt32(ToValue); model.FromValue = User.Identity.Name; model.ToValue = ToEmail; db.CM_User_Notification.Add(model); db.SaveChanges(); if (SendEmailNotification) { mail.sendMail(ToEmail, "Order Creation Mail", model.Content); } } return(true); }
public void AlertCallOff() { var callOffOrderDate = db.tblStock.Where(x => x.IsCallOff == true && x.CallOffStatus == false).Select(x => x.CallOffDate).ToList(); var data = (from x in db.tblStock where x.IsCallOff == true && x.CallOffStatus == false select new { x.CallOffDate, x.PMOrderId }).ToList(); foreach (var items in data) { if (DateTime.Now.Date <= Convert.ToDateTime(items.CallOffDate)) { DateTime date = Convert.ToDateTime(items.CallOffDate).AddDays(-7); if (date == DateTime.Now.Date) { var userids = (from x in UnitOfWork.OrderRepository.GetAll() where x.ID == items.PMOrderId select new { x.SupplierID, x.Consolidator, x.ReqUID, x.OrgUID }).ToList(); foreach (var user in userids) { string usertype = UnitOfWork.UserRepository.Get(x => x.Id == user.ReqUID).UserType; string FromValue = UnitOfWork.UserRepository.Get(x => x.Id == user.ReqUID).Email; if (usertype == "Requisitioner") { if (user.SupplierID > 0) { CM_User_Notification model = new CM_User_Notification(); model.UserID = Convert.ToInt32(user.ReqUID); model.CreatedOn = System.DateTime.Now.ToString("dd/MM/yyyy h:mm tt"); model.IsViewed = false; model.PendingOrderStatus = false; model.PendingDate = DateTime.Now.AddDays(-30).ToString("MM/dd/yyyy"); var orderno = UnitOfWork.OrderRepository.Get(x => x.ID == items.PMOrderId).ORAPoNumber; model.Content = "Call Off Order" + orderno.ToString(); model.EntityID = user.SupplierID; model.FromValue = FromValue; model.ToValue = UnitOfWork.UserRepository.Get(x => x.Id == user.SupplierID).Email; model.orderID = Convert.ToInt32(items.PMOrderId); db.CM_User_Notification.Add(model); db.SaveChanges(); } if (user.Consolidator > 0) { CM_User_Notification model = new CM_User_Notification(); model.UserID = Convert.ToInt32(user.ReqUID); model.CreatedOn = System.DateTime.Now.ToString("dd/MM/yyyy h:mm tt"); model.IsViewed = false; model.PendingOrderStatus = false; model.PendingDate = DateTime.Now.AddDays(-30).ToString("MM/dd/yyyy"); var orderno = UnitOfWork.OrderRepository.Get(x => x.ID == items.PMOrderId).ORAPoNumber; model.Content = "Call Off Order" + orderno.ToString(); model.EntityID = user.SupplierID; model.FromValue = FromValue; model.ToValue = UnitOfWork.UserRepository.Get(x => x.Id == user.Consolidator).Email; model.orderID = Convert.ToInt32(items.PMOrderId); db.CM_User_Notification.Add(model); db.SaveChanges(); } if (user.OrgUID > 0) { CM_User_Notification model = new CM_User_Notification(); model.UserID = Convert.ToInt32(user.ReqUID); model.CreatedOn = System.DateTime.Now.ToString("dd/MM/yyyy h:mm tt"); model.IsViewed = false; model.PendingOrderStatus = false; model.PendingDate = DateTime.Now.AddDays(-30).ToString("MM/dd/yyyy"); var orderno = UnitOfWork.OrderRepository.Get(x => x.ID == items.PMOrderId).ORAPoNumber; model.Content = "Call Off Order" + orderno.ToString(); model.EntityID = user.SupplierID; model.FromValue = FromValue; model.ToValue = UnitOfWork.UserRepository.Get(x => x.Id == user.OrgUID).Email; model.orderID = Convert.ToInt32(items.PMOrderId); db.CM_User_Notification.Add(model); db.SaveChanges(); } if (user.ReqUID > 0) { CM_User_Notification model = new CM_User_Notification(); model.UserID = Convert.ToInt32(user.ReqUID); model.CreatedOn = System.DateTime.Now.ToString("dd/MM/yyyy h:mm tt"); model.IsViewed = false; model.PendingOrderStatus = false; model.PendingDate = DateTime.Now.AddDays(-30).ToString("MM/dd/yyyy"); var orderno = UnitOfWork.OrderRepository.Get(x => x.ID == items.PMOrderId).ORAPoNumber; model.Content = "Call Off Order" + orderno.ToString(); model.EntityID = user.SupplierID; model.FromValue = FromValue; model.ToValue = UnitOfWork.UserRepository.Get(x => x.Id == user.ReqUID).Email; model.orderID = Convert.ToInt32(items.PMOrderId); db.CM_User_Notification.Add(model); db.SaveChanges(); } } } } //OrderId.Add(Convert.ToInt32(items.PMOrderId)); } } }
public async Task <ActionResult> Register(RegisterViewModel model) { var countryList = new SelectList(Country.CountryList()); ViewBag.country = countryList; if (ModelState.IsValid) { //var user = new UM_User() { UserName = model.Email, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, Password = model.Password, Image = model.Image.FileName, TimeZone = model.TimeZone, StartPage = model.StartPage, FeedSelection = model.FeedSelection, Gender = model.Gender, Address = model.Address, City = model.City, ZipCode = model.ZipCode, IsActive = false, Country = model.Country, UserType = model.UserType }; UM_User user = new UM_User(); user.UserName = model.Email; user.Email = model.Email; user.FirstName = model.FirstName; user.LastName = model.LastName; user.Password = model.Password; //user.Image = model.Image.FileName; user.TimeZone = model.TimeZone; user.StartPage = model.StartPage; user.FeedSelection = model.FeedSelection; user.Gender = model.Gender; user.IsEmailNotificationActive = model.IsEmailNotificationActive; user.Address = model.Address; user.City = model.City; user.ZipCode = model.ZipCode; if (model.UserType == "Admin") { user.IsActive = true; } else { user.IsActive = false; } user.Country = model.Country; user.UserType = model.UserType; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { List <string> AdminEmail = db.Users.Where(x => x.UserType == "Admin").Select(x => x.Email).ToList(); foreach (string admin in AdminEmail) { int AdminId = UnitOfWork.UserRepository.Get(x => x.UserType == "Admin").Id; string Userid = model.Email; CM_User_Notification cm = new CM_User_Notification(); cm.UserID = Convert.ToInt32(AdminId); cm.EntityID = Convert.ToInt32(AdminId); cm.ToValue = admin; cm.IsViewed = false; cm.FromValue = Userid; cm.CreatedOn = DateTime.Now.ToString("dd/MM/yyyy h:mm tt"); cm.Content = model.Email + " " + "Has Registered."; cm.orderStatus = "Created"; db.CM_User_Notification.Add(cm); db.SaveChanges(); mail.sendMail(admin, "User Registration Notification", cm.Content); } var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking this link: <a href=\"" + callbackUrl + "\">link</a>"); ViewBag.Link = callbackUrl; TempData["Msg"] = "Successfully Registered!"; return(RedirectToAction("Login")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }