Beispiel #1
0
        public ActionResult AddorEditLeaves(int id = 0)
        {
            using (mmpEntities mP = new mmpEntities())
            {
                if (id == 0)
                {
                    return(View(new AddorEditLeave()
                    {
                        category_id = mP.categories.First(x => x.category_name == "leaves").category_id
                    }));
                }
                else
                {
                    //ctd = category type details
                    var ctd = mP.category_type_details.Where(x => x.ctd_id == id).FirstOrDefault <category_type_details>();
                    //ld = leave details
                    var ld = mP.leave_details.Where(x => x.category_type_id == ctd.ctd_id).FirstOrDefault <leave_details>();

                    AddorEditLeave ael = new AddorEditLeave()
                    {
                        ctd_id           = ctd.ctd_id,
                        leave_name       = ctd.ctd_name,
                        code             = ctd.ctd_code,
                        category_id      = ctd.category_id,
                        ctd_created_at   = ctd.ctd_created_at,
                        leave_details_id = ld.id,
                        no_of_leaves     = ld.no_of_leaves,
                        encashable       = ld.encashable,
                        carry_forward    = ld.carry_forward
                    };
                    return(View(ael));
                }
            }
        }
Beispiel #2
0
        public ActionResult AddorEditLeaves(AddorEditLeave ael)
        {
            if (ModelState.IsValid)
            {
                using (mmpEntities mP = new mmpEntities())
                {
                    /*#region Leave Name already assigned
                     * var isLeaveNameAssigned = IsCategoryTypeAssigned(ael.leave_name, ael.ctd_id, 1);
                     * if (isLeaveNameAssigned)
                     * {
                     *  ModelState.AddModelError("LeaveAssigned", "Leave Name is already assigned");
                     *  return View(ael);
                     * }
                     #endregion*/

                    #region Leave Code already assigned
                    var isLeaveCodeAssigned = IsCategoryTypeAssigned(ael.code, ael.ctd_id, 0);
                    if (isLeaveCodeAssigned)
                    {
                        ModelState.AddModelError("LeaveAssigned", "Leave Code is already assigned");
                        return(View(ael));
                    }
                    #endregion

                    if (ael.ctd_id == 0)
                    {
                        category_type_details ctd = new category_type_details()
                        {
                            ctd_name       = ael.leave_name,
                            ctd_code       = ael.code,
                            category_id    = ael.category_id,
                            ctd_created_at = DateTime.Now
                        };

                        mP.category_type_details.Add(ctd);
                        mP.SaveChanges();

                        leave_details ld = new leave_details()
                        {
                            no_of_leaves     = ael.no_of_leaves,
                            encashable       = ael.encashable,
                            carry_forward    = ael.carry_forward,
                            category_type_id = ctd.ctd_id
                        };

                        mP.leave_details.Add(ld);
                        mP.SaveChanges();
                        return(Json(new { success = true, message = "Saved Successfully" }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        category_type_details ctd = new category_type_details()
                        {
                            ctd_id         = ael.ctd_id,
                            ctd_name       = ael.leave_name,
                            ctd_code       = ael.code,
                            category_id    = ael.category_id,
                            ctd_created_at = ael.ctd_created_at,
                            ctd_updated_at = DateTime.Now
                        };


                        leave_details ld = new leave_details()
                        {
                            id               = ael.leave_details_id,
                            no_of_leaves     = ael.no_of_leaves,
                            encashable       = ael.encashable,
                            carry_forward    = ael.carry_forward,
                            category_type_id = ctd.ctd_id
                        };

                        mP.Entry(ctd).State = EntityState.Modified;
                        mP.Entry(ld).State  = EntityState.Modified;
                        mP.SaveChanges();

                        return(Json(new { success = true, message = "Updated Successfully" }, JsonRequestBehavior.AllowGet));
                    }
                }
            }
            else
            {
                return(View(ael));
            }
        }