public ActionResult Details(int id = 0, bool Manager = false, byte Version = 0)
        {
            if (!_hrUnitOfWork.LeaveRepository.CheckAutoCompleteColumn("AssignOrders", CompanyId, Version, "EmpId"))
            {
                var mang = Request.QueryString["Manager"]?.ToString();
                if (mang != null)
                {
                    var MangerData = User.Identity.GetEmpId();
                    ViewBag.Mangers = _hrUnitOfWork.PeopleRepository.GetActiveMangersByMangerId(CompanyId, Language, MangerData);
                }
                else
                {
                    ViewBag.Mangers = _hrUnitOfWork.PeopleRepository.GetActiveMangers(CompanyId, Language);
                }
            }

            ViewBag.Calender = _hrUnitOfWork.LeaveRepository.GetHolidays(CompanyId); //for Calender
            ViewBag.Today    = DateTime.Today;
            if (id == 0)
            {
                return(View(new AssignOrder()));
            }

            AssignOrder request = _hrUnitOfWork.LeaveRepository.GetAssignOrderByiD(id);

            if (id != 0)
            {
                ViewBag.Employee = _hrUnitOfWork.PeopleRepository.GetEmployeeById(CompanyId, Language, request.EmpId);
            }
            return(View(request));
        }
        public ActionResult ViewOrders(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            AssignOrder cat = db.AssignOrders.Find(id);

            if (cat == null)
            {
                ViewBag.msg = "No Order is assigned to you";
                //return HttpNotFound();
            }
            List <AssignOrder> list = new List <AssignOrder>();
            var books = db.AssignOrders;

            foreach (AssignOrder b in books)
            {
                if (b.DelivererId == id && b.Status == "Not Delivered")
                {
                    list.Add(b);
                }
            }
            return(View(list));
        }
示例#3
0
        private void BtnByProduct_Click(object sender, EventArgs e)
        {
            Btn         btn    = (Btn)sender;
            Order       order  = btn.Order;
            AssignOrder window = new AssignOrder(order);

            window.Show();
            this.Close();
        }
示例#4
0
        public ActionResult AssignOrderDeli(int id, int idd)
        {
            AssignOrder p = new AssignOrder();

            p.DelivererId = id;
            p.OrderId     = idd;
            p.Status      = "Not Delivered";
            db.SaveChanges();
            ViewBag.msg = "This order is assigned to this Delivery Team!";
            return(RedirectToAction("ViewOrders", "Admin"));
        }
        public ActionResult AssignDeli(int id)
        {
            t = Convert.ToInt32(TempData["id"]);
            AssignOrder p = new AssignOrder();

            p.DelivererId = id;
            p.OrderId     = t;
            p.Status      = "Not Delivered";
            db.AssignOrders.Add(p);
            db.SaveChanges();

            return(RedirectToAction("ViewOrders", "Admin"));
        }
        public ActionResult PassOrderr(int id)
        {
            List <DeliveryTeam> list = new List <DeliveryTeam>();
            DeliveryTeam        c    = new DeliveryTeam();
            AssignOrder         cat  = db.AssignOrders.Find(id);

            if (cat != null)
            {
                ViewBag.msg = "This order has been assigned";
                return(RedirectToAction("ViewOrders", "Admin"));
            }
            TempData["id"] = id;
            return(RedirectToAction("Index2", "Admin"));
        }
示例#7
0
        public IHttpActionResult EditAssignOrder(AssignOrderVM model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            if (model == null)
            {
                return(NotFound());
            }
            var         UserName = HttpContext.Current.User.Identity.Name;
            AssignOrder request  = hrUnitOfWork.LeaveRepository.GetAssignOrderByiD(model.Id);

            AutoMapperParm parms = new Models.AutoMapperParm()
            {
                Source = model, Destination = request, Version = 0, ObjectName = "AssignOrders", Options = null, Transtype = TransType.Update
            };

            AutoMapper(parms);

            if (model.Id != 0)
            {
                hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel()
                {
                    ColumnName  = "ApprovalStatus",
                    CompanyId   = model.CompanyId,
                    ObjectName  = "AssignOrders",
                    SourceId    = request.Id.ToString(),
                    UserName    = UserName,
                    Version     = 0,
                    ValueAfter  = MsgUtils.Instance.Trls("Submit"),
                    ValueBefore = MsgUtils.Instance.Trls("Darft")
                });

                request.CompanyId      = model.CompanyId;
                request.ModifiedUser   = UserName;
                request.ModifiedTime   = DateTime.Now;
                request.ApprovalStatus = 6;
                request.EmpId          = model.EmpId;
                request.Duration       = model.Duration;
                request.AssignDate     = model.AssignDate;
                request.CalcMethod     = model.CalcMethod;
                request.LeaveTypeId    = model.LeaveTypeId;
                request.ExpiryDate     = model.ExpiryDate;
                request.TaskDesc       = model.TaskDesc;
                request.ManagerId      = model.ManagerId;
                hrUnitOfWork.LeaveRepository.AttachAssignOrder(request);
                hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified;

                var Errors = SaveChanges(model.language);
                if (Errors.Count > 0)
                {
                    return(StatusCode(HttpStatusCode.Forbidden));
                }

                if (request.CalcMethod == 1) //monetary
                {
                    WfViewModel wf = new WfViewModel()
                    {
                        Source         = "AssignOrder1",
                        SourceId       = request.CompanyId,
                        DocumentId     = request.Id,
                        RequesterEmpId = request.EmpId,
                        ApprovalStatus = 6,
                        CreatedUser    = UserName,
                    };
                    var wfTrans = hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, model.language);
                    if (wfTrans == null && wf.WorkFlowStatus != "Success")
                    {
                        request.ApprovalStatus = 1;

                        hrUnitOfWork.LeaveRepository.AttachAssignOrder(request);
                        hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified;
                    }
                    else if (wfTrans != null)
                    {
                        hrUnitOfWork.LeaveRepository.Add(wfTrans);
                    }
                }
                else if (request.CalcMethod == 2) //time compensation
                {
                    WfViewModel wf = new WfViewModel()
                    {
                        Source         = "AssignOrder2",
                        SourceId       = request.CompanyId,
                        DocumentId     = request.Id,
                        RequesterEmpId = request.EmpId,
                        ApprovalStatus = 6,
                        CreatedUser    = UserName,
                    };
                    var wfTrans = hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, model.language);
                    if (wfTrans == null && wf.WorkFlowStatus != "Success")
                    {
                        request.ApprovalStatus = 1;
                        hrUnitOfWork.LeaveRepository.AttachAssignOrder(request);
                        hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified;
                    }
                    else if (wfTrans != null)
                    {
                        hrUnitOfWork.LeaveRepository.Add(wfTrans);
                    }
                }
                Errors = SaveChanges(model.language);
                if (Errors.Count > 0)
                {
                    return(StatusCode(HttpStatusCode.NotModified));
                }
            }
            return(Ok(model));
        }
示例#8
0
        public IHttpActionResult PostAssignOrder(AssignOrderVM model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            if (model == null)
            {
                return(NotFound());
            }
            var         UserName = HttpContext.Current.User.Identity.Name;
            AssignOrder request;
            //= hrUnitOfWork.LeaveRepository.GetAssignOrderByiD(model.Id);
            var isRequired = hrUnitOfWork.Repository <Workflow>().Where(w => w.Source == "AssignOrder" + model.CalcMethod && w.CompanyId == model.CompanyId).Select(a => a.IsRequired).FirstOrDefault();

            request = new AssignOrder();
            AutoMapperParm parms = new Models.AutoMapperParm()
            {
                Source = model, Destination = request, Version = 0, ObjectName = "AssignOrders", Options = null, Transtype = TransType.Insert
            };

            AutoMapper(parms);

            request.CompanyId      = model.CompanyId;
            request.CreatedUser    = UserName;
            request.CreatedTime    = DateTime.Now;
            request.ApprovalStatus = (byte)(isRequired ? 1 : 6);
            request.EmpId          = model.EmpId;
            request.Duration       = model.Duration;
            request.AssignDate     = model.AssignDate;
            request.CalcMethod     = model.CalcMethod;
            request.LeaveTypeId    = model.LeaveTypeId;
            request.ExpiryDate     = model.ExpiryDate;
            request.TaskDesc       = model.TaskDesc;
            request.ManagerId      = model.ManagerId;
            hrUnitOfWork.LeaveRepository.AddAssignOrder(request);

            var Errors = SaveChanges(model.language);

            if (Errors.Count > 0)
            {
                return(StatusCode(HttpStatusCode.Forbidden));
            }
            if (!isRequired && model.CalcMethod == 2 && model.Id == 0)
            {
                var error = hrUnitOfWork.LeaveRepository.AddAssignOrdersLeaveTrans(request, UserName, model.language);
            }

            if (isRequired)
            {
                if (request.CalcMethod == 1) //monetary
                {
                    WfViewModel wf = new WfViewModel()
                    {
                        Source         = "AssignOrder1",
                        SourceId       = request.CompanyId,
                        DocumentId     = request.Id,
                        RequesterEmpId = request.EmpId,
                        ApprovalStatus = 6,
                        CreatedUser    = UserName,
                    };
                    var wfTrans = hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, model.language);
                    if (wfTrans == null && wf.WorkFlowStatus != "Success")
                    {
                        request.ApprovalStatus = 1;

                        hrUnitOfWork.LeaveRepository.AttachAssignOrder(request);
                        hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified;
                    }
                    else if (wfTrans != null)
                    {
                        hrUnitOfWork.LeaveRepository.Add(wfTrans);
                    }
                }
                else if (request.CalcMethod == 2) //time compensation
                {
                    WfViewModel wf = new WfViewModel()
                    {
                        Source         = "AssignOrder2",
                        SourceId       = request.CompanyId,
                        DocumentId     = request.Id,
                        RequesterEmpId = request.EmpId,
                        ApprovalStatus = 6,
                        CreatedUser    = UserName,
                    };
                    var wfTrans = hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, model.language);
                    if (wfTrans == null && wf.WorkFlowStatus != "Success")
                    {
                        request.ApprovalStatus = 1;
                        hrUnitOfWork.LeaveRepository.AttachAssignOrder(request);
                        hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified;
                    }
                    else if (wfTrans != null)
                    {
                        hrUnitOfWork.LeaveRepository.Add(wfTrans);
                    }
                }
            }

            Errors = SaveChanges(model.language);
            if (Errors.Count > 0)
            {
                return(StatusCode(HttpStatusCode.NotModified));
            }
            model.Id = request.Id;
            return(Created(new Uri(Request.RequestUri + "/" + model.Id), model));
        }
        public ActionResult Details(AssignOrderViewModel model, OptionsViewModel moreInfo)
        {
            List <Error> errors = new List <Error>();

            if (ModelState.IsValid)
            {
                if (ServerValidationEnabled)
                {
                    errors = _hrUnitOfWork.CompanyRepository.CheckForm(new CheckParm
                    {
                        CompanyId    = CompanyId,
                        ObjectName   = "AssignOrders",
                        TableName    = "AssignOrders",
                        Columns      = Models.Utils.GetColumnViews(ModelState.Where(a => !a.Key.Contains('.'))),
                        ParentColumn = "CompanyId",
                        Culture      = Language
                    });

                    if (errors.Count() > 0)
                    {
                        foreach (var e in errors)
                        {
                            foreach (var errorMsg in e.errors)
                            {
                                ModelState.AddModelError(errorMsg.field, errorMsg.message);
                            }
                        }
                        return(Json(Models.Utils.ParseFormErrors(ModelState)));
                    }
                }
            }
            else
            {
                return(Json(Models.Utils.ParseFormErrors(ModelState)));
            }

            AssignOrder request = _hrUnitOfWork.LeaveRepository.GetAssignOrderByiD(model.Id);
            byte        version;

            byte.TryParse(Request.Form["version"], out version);
            var isRequired = _hrUnitOfWork.Repository <Workflow>().Where(w => w.Source == "AssignOrder" + model.CalcMethod && w.CompanyId == CompanyId).Select(a => a.IsRequired).FirstOrDefault();

            if (model.Id == 0)
            {
                //new
                request = new AssignOrder();
                AutoMapperParm parms = new AutoMapperParm()
                {
                    Source = model, Destination = request, Version = version, ObjectName = "AssignOrders", Options = moreInfo, Transtype = TransType.Insert
                };
                AutoMapper(parms);

                request.CompanyId      = CompanyId;
                request.CreatedUser    = UserName;
                request.CreatedTime    = DateTime.Now;
                request.ApprovalStatus = (byte)(isRequired ? 1 : 6);
                _hrUnitOfWork.LeaveRepository.AddAssignOrder(request);
            }
            else
            {
                //Edit
                AutoMapperParm parms = new AutoMapperParm()
                {
                    Source = model, Destination = request, Version = version, ObjectName = "AssignOrders", Options = moreInfo, Transtype = TransType.Update
                };
                AutoMapper(parms);
                //
                _hrUnitOfWork.TrainingRepository.AddTrail(new AddTrailViewModel()
                {
                    ColumnName  = "ApprovalStatus",
                    CompanyId   = CompanyId,
                    ObjectName  = "AssignOrders",
                    SourceId    = request.Id.ToString(),
                    UserName    = UserName,
                    ValueAfter  = MsgUtils.Instance.Trls("Submit"),
                    ValueBefore = MsgUtils.Instance.Trls("Darft"),
                    Transtype   = (byte)TransType.Update
                });

                request.CompanyId      = CompanyId;
                request.CreatedUser    = UserName;
                request.CreatedTime    = DateTime.Now;
                request.ApprovalStatus = (byte)(isRequired ? 1 : 6);
                _hrUnitOfWork.LeaveRepository.AttachAssignOrder(request);
                _hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified;
            }

            if (!isRequired && model.CalcMethod == 2 && model.Id == 0)
            {
                var error = _hrUnitOfWork.LeaveRepository.AddAssignOrdersLeaveTrans(request, UserName, Language);
                if (error.Length > 0)
                {
                    return(Json(error));
                }
            }

            errors = SaveChanges(Language);
            string message = "OK," + ((new JavaScriptSerializer()).Serialize(model));

            if (errors.Count > 0)
            {
                message = errors.First().errors.First().message;
                return(Json(message));
            }
            //workflow
            if (isRequired)
            {
                if (request.CalcMethod == 1) //monetary
                {
                    WfViewModel wf = new WfViewModel()
                    {
                        Source         = "AssignOrder1",
                        SourceId       = request.CompanyId,
                        DocumentId     = request.Id,
                        RequesterEmpId = request.EmpId,
                        ApprovalStatus = 6,
                        CreatedUser    = UserName,
                    };

                    var wfTrans = _hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, Language);
                    if (wfTrans == null && wf.WorkFlowStatus != "Success")
                    {
                        request.ApprovalStatus = 1;
                        message += "," + (new JavaScriptSerializer()).Serialize(new { model = request, error = wf.WorkFlowStatus });

                        _hrUnitOfWork.LeaveRepository.AttachAssignOrder(request);
                        _hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified;
                    }
                    else if (wfTrans != null)
                    {
                        _hrUnitOfWork.LeaveRepository.Add(wfTrans);
                    }
                }
                else if (request.CalcMethod == 2) //time compensation
                {
                    WfViewModel wf = new WfViewModel()
                    {
                        Source         = "AssignOrder2",
                        SourceId       = request.CompanyId,
                        DocumentId     = request.Id,
                        RequesterEmpId = request.EmpId,
                        ApprovalStatus = 6,
                        CreatedUser    = UserName,
                    };

                    var wfTrans = _hrUnitOfWork.LeaveRepository.AddWorkFlow(wf, Language);
                    if (wfTrans == null && wf.WorkFlowStatus != "Success")
                    {
                        request.ApprovalStatus = 1;
                        message += "," + (new JavaScriptSerializer()).Serialize(new { model = request, error = wf.WorkFlowStatus });

                        _hrUnitOfWork.LeaveRepository.AttachAssignOrder(request);
                        _hrUnitOfWork.LeaveRepository.EntryAssignOrder(request).State = EntityState.Modified;
                    }
                    else if (wfTrans != null)
                    {
                        _hrUnitOfWork.LeaveRepository.Add(wfTrans);
                    }
                }

                errors = Save(Language);
                if (errors.Count > 0)
                {
                    message = errors.First().errors.First().message;
                }
            }
            //end workflow

            if (message == "OK")
            {
                message += "," + ((new JavaScriptSerializer()).Serialize(request));
            }

            return(Json(message));
        }