public ActionResult create()
        {
            ViewBag.Contract_Type    = dbcontext.Contract_Type.ToList().Select(m => new { Code = m.Contract_Type_Code + "------[" + m.Contract_Type_Description + ']', ID = m.ID });
            ViewBag.Employee_Profile = dbcontext.Employee_Profile.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID });
            ViewBag.Approved_date    = dbcontext.Employee_Profile.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID });
            var stru  = dbcontext.StructureModels.FirstOrDefault(m => m.All_Models == ChModels.Personnel);
            var model = dbcontext.new_contrct.ToList();
            var count = 0;

            if (model.Count() == 0)
            {
                count = 1;
            }
            else
            {
                var te = model.LastOrDefault().ID;
                count = te + 1;
            }
            DateTime statis2 = Convert.ToDateTime(DateTime.Now.ToShortDateString());
            var      Employee_contract_profile = new request_new_contract {
                Code              = stru.Structure_Code + count, Employee_ProfileId = "0",
                Approved_date     = statis2, Contract_start_date = statis2,
                Contract_end_date = statis2, Medical_date = statis2
            };

            return(View(Employee_contract_profile));
        }
        public ActionResult edit(request_new_contract model)
        {
            try
            {
                if (model.ContractTypeId == null)
                {
                    model.ContractTypeId = "0";
                }
                if (model.ApprovedbyId == null)
                {
                    model.ApprovedbyId = "0";
                }

                ViewBag.Contract_Type    = dbcontext.Contract_Type.ToList().Select(m => new { Code = m.Contract_Type_Code + "------[" + m.Contract_Type_Description + ']', ID = m.ID });
                ViewBag.Employee_Profile = dbcontext.Employee_Profile.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID });
                ViewBag.Approved_date    = dbcontext.Employee_Profile.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID });

                var prof   = int.Parse(model.Employee_ProfileId);
                var record = dbcontext.new_contrct.FirstOrDefault(m => m.ID == model.ID);

                record.Code                = model.Code;
                record.Employment_type     = model.Employment_type;
                record.Contract_start_date = model.Contract_start_date;
                record.Contract_end_date   = model.Contract_end_date;
                if (model.Contract_start_date > model.Contract_end_date)
                {
                    TempData["Message"] = HR.Resource.pers_2.FromdateIssuebiggerdateExpire;
                    return(View(model));
                }
                record.Years                         = model.Years;
                record.Months                        = model.Months;
                record.Approved_date                 = model.Approved_date;
                record.Notes                         = model.Notes;
                record.Medical_date                  = model.Medical_date;
                record.Medical_entity_name           = model.Medical_entity_name;
                record.Not_fit_reason                = model.Not_fit_reason;
                record.Medical_commite_comments      = model.Medical_commite_comments;
                record.Medical_commite_recomindation = model.Medical_commite_recomindation;
                record.Result                        = model.Result;

                record.Employee_ProfileId = model.Employee_ProfileId;
                var Employee_ProfileId = int.Parse(model.Employee_ProfileId);
                record.Employee_Profile = dbcontext.Employee_Profile.FirstOrDefault(m => m.ID == Employee_ProfileId);
                record.ContractTypeId   = model.ContractTypeId;
                record.ApprovedbyId     = model.ApprovedbyId;
                dbcontext.SaveChanges();
                return(RedirectToAction("index", new { id = model.ID }));
            }
            catch (DbUpdateException e)
            {
                TempData["Message"] = HR.Resource.organ.thiscodeIsalreadyexists;
                return(View(model));
            }
            catch (Exception e)
            { return(View(model)); }
        }
 public ActionResult create(request_new_contract model)
 {
     try
     {
         if (model.ContractTypeId == null)
         {
             model.ContractTypeId = "0";
         }
         if (model.ApprovedbyId == null)
         {
             model.ApprovedbyId = "0";
         }
         ViewBag.Contract_Type    = dbcontext.Contract_Type.ToList().Select(m => new { Code = m.Contract_Type_Code + "------[" + m.Contract_Type_Description + ']', ID = m.ID });
         ViewBag.Employee_Profile = dbcontext.Employee_Profile.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID });
         ViewBag.Approved_date    = dbcontext.Employee_Profile.ToList().Select(m => new { Code = m.Code + "------[" + m.Name + ']', ID = m.ID });
         var con = int.Parse(model.Employee_ProfileId);
         var emp = dbcontext.Employee_Profile.FirstOrDefault(m => m.ID == con);
         model.Employee_Profile = emp;
         if (model.Contract_start_date > model.Contract_end_date)
         {
             TempData["Message"] = HR.Resource.pers_2.FromdateIssuebiggerdateExpire;
             return(View(model));
         }
         var Date = Convert.ToDateTime("1/1/1900");
         var s    = new status {
             statu = check_status.created, Type = Models.Infra.Type.employee_record, approved_bydate = Date, cancaled_bydate = Date, created_bydate = DateTime.Now.Date, Rejected_bydate = Date, return_to_reviewdate = Date
         };
         s.statu      = check_status.created;
         s.created_by = User.Identity.GetUserName();
         var st = dbcontext.status.Add(s);
         dbcontext.SaveChanges();
         model.status = st;
         dbcontext.new_contrct.Add(model);
         dbcontext.SaveChanges();
         return(RedirectToAction("index"));
     }
     catch (DbUpdateException e)
     {
         TempData["Message"] = HR.Resource.organ.thiscodeIsalreadyexists;
         return(View(model));
     }
     catch (Exception e)
     {
         return(View(model));
     }
 }