コード例 #1
0
        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());
        }
コード例 #2
0
        //// 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));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        // 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));
        }