public async Task <ActionResult> Create(RegisterViewModel userViewModel, params string[] selectedRoles) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = userViewModel.Email, Email = userViewModel.Email }; var adminresult = await UserManager.CreateAsync(user, userViewModel.Password); //Add User to the selected Roles if (adminresult.Succeeded) { #region Dealing with custom user details UserDet newUserDeets = new UserDet(); newUserDeets.UserID = user.Id; newUserDeets.FirstName = userViewModel.FirstName; newUserDeets.LastName = userViewModel.LastName; newUserDeets.DateStarted = userViewModel.DateStarted; newUserDeets.IsEmployedCurrently = userViewModel.IsEmployedCurrently; CoffeeShopLMSEntities db = new CoffeeShopLMSEntities(); db.UserDets.Add(newUserDeets); db.SaveChanges(); #endregion if (selectedRoles != null) { var result = await UserManager.AddToRolesAsync(user.Id, selectedRoles); if (!result.Succeeded) { ModelState.AddModelError("", result.Errors.First()); ViewBag.RoleId = new SelectList(await RoleManager.Roles.ToListAsync(), "Name", "Name"); return(View()); } } } else { ModelState.AddModelError("", adminresult.Errors.First()); ViewBag.RoleId = new SelectList(RoleManager.Roles, "Name", "Name"); return(View()); } return(RedirectToAction("Index")); } ViewBag.RoleId = new SelectList(RoleManager.Roles, "Name", "Name"); return(View()); }
//// POST: VendorRetailer/Create //// To protect from overposting attacks, please enable the specific properties you want to bind to, for //// more details see https://go.microsoft.com/fwlink/?LinkId=317598. //[HttpPost] //[ValidateAntiForgeryToken] //public ActionResult Create([Bind(Include = "Id,Name,Phone,Email,UserType,ContactPerson,EmployeeId")] UserMas userMas) //{ // if (ModelState.IsValid) // { // db.UserMas.Add(userMas); // db.SaveChanges(); // return RedirectToAction("Index"); // } // ViewBag.EmployeeId = new SelectList(db.Employees, "Id", "Name", userMas.EmployeeId); // return View(userMas); //} public JsonResult SaveVendorRetailerOrder(IEnumerable <VMVendorRetailerDet> OrderDetails, VMVendorRetailerMas OrderMas) { var result = new { flag = false, message = "Error occured. !", Id = 0 }; try { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { var OrderM = new UserMas() { Id = 0, Name = OrderMas.Name, Phone = OrderMas.Phone, Email = OrderMas.Email, UserType = 0, ContactPerson = OrderMas.ContactPerson, EmployeeId = OrderMas.EmployeeId, InitialBalance = OrderMas.InitialBalance //Type = OrderMas.ProdDepartmentId, }; db.UserMas.Add(OrderM); db.SaveChanges(); Dictionary <int, int> dictionary = new Dictionary <int, int>(); if (OrderDetails != null) { foreach (var item in OrderDetails) { //var OrderLocation = new Location() //{ // Id = 0, // Name = item.Location, // Cost = item.CarryingCost //}; //db.Location.Add(OrderLocation); //db.SaveChanges(); //var OrderRetailerItems = new VendorRetailerItems() //{ // Id = 0, // UserMasId = OrderM.Id, // ItemId = item.ItemId, // ItemCost = item.UnitPrice //}; //db.VendorRetailerItems.Add(OrderRetailerItems); //db.SaveChanges(); var OrderD = new UserDet() { Id = 0, UserMasId = OrderM.Id, ItemId = item.ItemId, LocationId = item.LocationId, UnitPrice = item.UnitPrice, CarryingCost = item.CarryingCost }; db.UserDet.Add(OrderD); db.SaveChanges(); dictionary.Add(item.TempOrderDetId, OrderD.Id); } } dbContextTransaction.Commit(); result = new { flag = true, message = "Saving successful!!", Id = OrderM.Id }; Success("Record saved successfully.", true); } catch (Exception ex) { dbContextTransaction.Rollback(); result = new { flag = false, message = ex.Message, Id = 0 }; } } } catch (Exception ex) { result = new { flag = false, message = ex.Message, Id = 0 }; } return(Json(result, JsonRequestBehavior.AllowGet)); }
public JsonResult UpdateVendorRetailerOrder(IEnumerable <VMVendorRetailerDet> OrderDetails, VMVendorRetailerMas OrderMas, int[] DelItems) { var result = new { flag = false, message = "Error occured. !" }; //return Json(result, JsonRequestBehavior.AllowGet); try { var OpDate = DateTime.Now; using (var dbContextTransaction = db.Database.BeginTransaction()) { try { var OrderM = db.UserMas.Find(OrderMas.Id); if (OrderM == null) { result = new { flag = false, message = "Invalid Order Id. Saving failed !" }; return(Json(result, JsonRequestBehavior.AllowGet)); } OrderM.Name = OrderMas.Name; OrderM.Phone = OrderMas.Phone; OrderM.Email = OrderMas.Email; OrderM.ContactPerson = OrderMas.ContactPerson; OrderM.EmployeeId = OrderMas.EmployeeId; db.Entry(OrderM).State = EntityState.Modified; db.SaveChanges(); Dictionary <int, int> dictionary = new Dictionary <int, int>(); if (OrderDetails != null) { foreach (var item in OrderDetails) { //var detailIds = (from userDet in db.UserDet // join vendorRetailer in db.VendorRetailerItems on userDet.VendorRetailerItemsId equals vendorRetailer.Id // where vendorRetailer.UserMasId == OrderM.Id // select userDet).SingleOrDefault().LocationId; //var vendorRetId = db.VendorRetailerItems.FirstOrDefault(x => x.UserMasId == OrderM.Id).Id; //var locId = db.UserDet.FirstOrDefault(x => x.VendorRetailerItemsId == vendorRetId).LocationId; //var OrderLocation = new Location() //{ // Id = item.LocationId, // Name = db.Location.SingleOrDefault(x=>x.Id == item.LocationId).Name, // Cost = item.CarryingCost, //}; //Location locations = new Location(); //var locationName = db.Location.Find(item.LocationId).Name; //locations.Id = item.LocationId; //locations.Name = item.Location; //locations.Cost = item.CarryingCost; //db.Entry(locations).State = locations.Id == 0 ? // EntityState.Added : // EntityState.Modified; //var OrderRetailerItems = new VendorRetailerItems() //{ // Id = item.VendorRetailerId, // UserMasId = OrderM.Id, // ItemId = item.ItemId, // ItemCost = item.UnitPrice //}; //db.Entry(OrderRetailerItems).State = OrderRetailerItems.Id == 0 ? // EntityState.Added : // EntityState.Modified; var OrderD = new UserDet() { Id = item.Id, //VendorRetailerItemsId = OrderRetailerItems.Id, UserMasId = OrderM.Id, ItemId = item.ItemId, LocationId = item.LocationId, UnitPrice = item.UnitPrice, CarryingCost = item.CarryingCost }; db.Entry(OrderD).State = OrderD.Id == 0 ? EntityState.Added : EntityState.Modified; //db.BuyerOrderDets.Add(OrderD); db.SaveChanges(); dictionary.Add(item.TempOrderDetId, OrderD.Id); } } //if (DelItems != null) //{ // foreach (var item in DelItems) // { // var userDetDel = db.UserDet.SingleOrDefault(x => x.UserMasId == item); // db.UserDet.Remove(userDetDel); // db.SaveChanges(); // } //} dbContextTransaction.Commit(); result = new { flag = true, message = "Update successful !!" }; Success("Updated successfully.", true); } catch (Exception ex) { dbContextTransaction.Rollback(); result = new { flag = false, message = ex.Message }; } } } catch (Exception ex) { result = new { flag = false, message = ex.Message }; } return(Json(result, JsonRequestBehavior.AllowGet)); }
// GET: Lessons/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Lesson lesson = db.Lessons.Find(id); LessonView lessonView = new LessonView(); lessonView.LessonID = (int)id; lessonView.UserID = User.Identity.GetUserId(); DateTime today = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day); lessonView.DateViewed = today; LessonView entryHasBeenEnteredBefore = db.LessonViews .Where(x => x.LessonID == lessonView.LessonID && x.UserID == lessonView.UserID) .FirstOrDefault(); if (entryHasBeenEnteredBefore == null) { db.LessonViews.Add(lessonView); db.SaveChanges(); } //if the rest of the course is done Lesson lessonThatWasViewed = db.Lessons.Where(x => x.LessonID == lessonView.LessonID).FirstOrDefault(); int numberOfLessonsInTheCourse = db.Lessons.Where(x => x.CourseID == lessonThatWasViewed.CourseID).Count(); var lessonsInTheCourse = db.Lessons.Where(x => x.CourseID == lessonThatWasViewed.CourseID); List <Lesson> lessonsInLessonViews = new List <Lesson>(); foreach (var l in db.LessonViews.Where(x => x.UserID == lessonView.UserID)) { var lessonViewedInThisLessonView = db.Lessons.Where(x => x.LessonID == l.LessonID).FirstOrDefault(); if (lessonsInTheCourse.Where(x => x.LessonID == l.LessonID).FirstOrDefault() != null) { lessonsInLessonViews.Add(lessonViewedInThisLessonView); } } UserDet employeeViewing = db.UserDets.Where(x => x.UserID == lessonView.UserID).FirstOrDefault(); Cours courseViewed = db.Courses.Where(x => x.CourseID == lessonThatWasViewed.CourseID).FirstOrDefault(); string confirmationMessage = $"{employeeViewing.FirstName} {employeeViewing.LastName} has finished course {courseViewed.CourseName}"; if (numberOfLessonsInTheCourse == lessonsInLessonViews.Count) { //string courseFinishMessage = $"Employee {lessonView.UserID} has finished a course."; CourseCompletion courseCompletion = new CourseCompletion(); courseCompletion.CourseID = courseViewed.CourseID; courseCompletion.UserID = User.Identity.GetUserId(); courseCompletion.DateCompleted = today; CourseCompletion courseHasBeenCompletedBefore = db.CourseCompletions.Where(x => x.CourseID == courseCompletion.CourseID).Where(x => x.UserID == courseCompletion.UserID).FirstOrDefault(); if (courseHasBeenCompletedBefore == null) { db.CourseCompletions.Add(courseCompletion); db.SaveChanges(); MailMessage m = new MailMessage( "*****@*****.**", "*****@*****.**", "Course Completion", confirmationMessage); m.IsBodyHtml = true; SmtpClient client = new SmtpClient("mail.abigaylewillis.com"); client.Credentials = new NetworkCredential("*****@*****.**", "@1001w"); client.Port = 8889; client.Send(m); } } if (lesson == null) { return(HttpNotFound()); } return(View(lesson)); }