public ActionResult Detail(int?Id)
        {
            Session["file"] = null;
            var DocumentField = DocumentFieldRepository.GetvwDocumentFieldById(Id.Value);
            var path          = Helpers.Common.GetSetting(DocumentField.Category);

            if (DocumentField != null && DocumentField.IsDeleted != true)
            {
                var model = new DocumentFieldViewModel();
                AutoMapper.Mapper.Map(DocumentField, model);
                if (model.Category == "Contract")
                {
                    var q = contractRepository.GetContractById(model.CategoryId);
                    if (q != null)
                    {
                        model.CategoryDetail = q.Code;
                    }
                }
                else if (model.Category == "LabourContract")
                {
                    var q = labourContractRepository.GetLabourContractById(model.CategoryId);
                    if (q != null)
                    {
                        model.CategoryDetail = q.Name;
                    }
                }
                else if (model.Category == "InternalNotifications")
                {
                    var q = InternalNotificationsRepository.GetInternalNotificationsById(model.CategoryId);
                    if (q != null)
                    {
                        model.CategoryDetail = q.Titles;
                    }
                }
                //model.PositionName = categoryRepository.GetCategoryByCode("position").Where(x => x.Value == model.IsSearch).FirstOrDefault().Name;
                model.DocumentAttributeList = DocumentAttributeRepository.GetAllDocumentAttribute().Where(x => x.DocumentFieldId == Id)
                                              .Select(item => new DocumentAttributeViewModel
                {
                    Id            = item.Id,
                    CreatedUserId = item.CreatedUserId,
                    //CreatedUserName = item.CreatedUserName,
                    CreatedDate    = item.CreatedDate,
                    ModifiedUserId = item.ModifiedUserId,
                    //ModifiedUserName = item.ModifiedUserName,
                    ModifiedDate = item.ModifiedDate,
                    File         = item.File,
                    Note         = item.Note,
                    OrderNo      = item.OrderNo,
                    Size         = item.Size,
                    TypeFile     = item.TypeFile
                }).OrderByDescending(x => x.CreatedDate).ToList();
                foreach (var item in model.DocumentAttributeList)
                {
                    if (item.TypeFile.Equals("jpeg") || item.TypeFile.Equals("jpg") || item.TypeFile.Equals("png") || item.TypeFile.Equals("gif"))
                    {
                        item.FilePath = path + item.File;
                    }
                    else
                    {
                        item.FilePath = "/assets/file-icons-upload/48px/" + item.TypeFile + ".png";
                    }
                    item.QuantityDownload = LogDocumentAttributeRepositorty.GetAllLogDocumentAttribute().Where(x => x.DocumentAttributeId == item.Id).Count();
                }
                return(View(model));
            }
            if (Request.UrlReferrer != null)
            {
                return(Redirect(Request.UrlReferrer.AbsoluteUri));
            }
            return(RedirectToAction("Index"));
        }
Beispiel #2
0
        public ViewResult Index(string Code, string Staff, string Status, int?Type, string FormWork, string NameStaff, SearchObjectAttributeViewModel SearchOjectAttr)
        {
            var staff = Erp.BackOffice.Helpers.Common.GetStaffByCurrentUser();
            IEnumerable <LabourContractViewModel> q = LabourContractRepository.GetAllvwLabourContract()
                                                      .Select(item => new LabourContractViewModel
            {
                Id            = item.Id,
                CreatedUserId = item.CreatedUserId,
                //CreatedUserName = item.CreatedUserName,
                CreatedDate    = item.CreatedDate,
                ModifiedUserId = item.ModifiedUserId,
                //ModifiedUserName = item.ModifiedUserName,
                ModifiedDate        = item.ModifiedDate,
                Name                = item.Name,
                Code                = item.Code,
                Status              = item.Status,
                Type                = item.Type,
                StaffbranchId       = item.StaffbranchId,
                FormWork            = item.FormWork,
                CreatedUserName     = item.CreatedUserName,
                ContractTypeName    = item.ContractTypeName,
                QuantityMonth       = item.QuantityMonth,
                Notice              = item.Notice,
                EffectiveDate       = item.EffectiveDate,
                ExpiryDate          = item.ExpiryDate,
                StaffName           = item.StaffName,
                StaffCode           = item.StaffCode,
                StaffBirthday       = item.StaffBirthday,
                StaffId             = item.StaffId,
                StaffProfileImage   = item.StaffProfileImage,
                ApprovedUserId      = item.ApprovedUserId,
                ApprovedUserName    = item.ApprovedUserName,
                WageAgreement       = item.WageAgreement,
                SignedDay           = item.SignedDay,
                StaffBranchName     = item.StaffBranchName,
                StaffDepartmentName = item.StaffDepartmentName,
                PositionStaff       = item.PositionStaff
            }).ToList();
            bool bIsSearch = false;

            foreach (var item in q)
            {
                if (item.QuantityMonth > 0)
                {
                    if (item.Status != "Hết hạn")
                    {
                        if (item.ExpiryDate != null)
                        {
                            //  DateTime bb = item..AddHours(ShiftsOfItem2.EndTime.Value.Hour).AddMinutes(ShiftsOfItem2.EndTime.Value.Minute).AddSeconds(ShiftsOfItem2.EndTime.Value.Second);
                            TimeSpan b = item.ExpiryDate.Value.Subtract(DateTime.Now);
                            var      w = b.TotalDays;
                            if (Convert.ToInt32(w) <= 0)
                            {
                                item.Status  = "Hết hạn";
                                item.Status2 = "Hết hạn";
                                var labourcontract = LabourContractRepository.GetLabourContractById(item.Id);
                                labourcontract.Status = item.Status;
                                LabourContractRepository.UpdateLabourContract(labourcontract);
                            }
                            else
                            if (Convert.ToInt32(w) < item.Notice && w > 0)
                            {
                                item.Status  = "Sắp hết";
                                item.Status2 = "Còn " + Convert.ToInt32(w) + " ngày hết hợp đồng";
                                var labourcontract = LabourContractRepository.GetLabourContractById(item.Id);
                                labourcontract.Status = item.Status;
                                LabourContractRepository.UpdateLabourContract(labourcontract);
                            }
                            else
                            {
                                item.Status2 = "Còn hiệu lực";
                                var labourcontract = LabourContractRepository.GetLabourContractById(item.Id);
                                labourcontract.Status = item.Status;
                                LabourContractRepository.UpdateLabourContract(labourcontract);
                            }
                        }
                    }
                }
                else
                {
                    item.Status  = "Còn hiệu lực";
                    item.Status2 = "Còn hiệu lực";
                    var labourcontract = LabourContractRepository.GetLabourContractById(item.Id);
                    labourcontract.Status = item.Status;
                    LabourContractRepository.UpdateLabourContract(labourcontract);
                }
            }
            //nếu có tìm kiếm nâng cao thì lọc trước
            if (SearchOjectAttr.ListField != null)
            {
                if (SearchOjectAttr.ListField.Count > 0)
                {
                    //lấy các đối tượng ObjectAttributeValue nào thỏa đk có AttributeId trong ListField và có giá trị tương ứng trong ListField
                    var listObjectAttrValue = ObjectAttributeRepository.GetAllObjectAttributeValue().AsEnumerable().Where(attr => SearchOjectAttr.ListField.Any(item => item.Id == attr.AttributeId && Erp.BackOffice.Helpers.Common.ChuyenThanhKhongDau(attr.Value).Contains(Erp.BackOffice.Helpers.Common.ChuyenThanhKhongDau(item.Value)))).ToList();

                    //tiếp theo tìm các sản phẩm có id bằng với ObjectId trong listObjectAttrValue vừa tìm được
                    q         = q.Where(product => listObjectAttrValue.Any(item => item.ObjectId == product.Id));
                    bIsSearch = true;
                    ViewBag.ListOjectAttrSearch = new JavaScriptSerializer().Serialize(SearchOjectAttr.ListField.Select(x => new { Id = x.Id, Value = x.Value }));
                }
            }

            if (!string.IsNullOrEmpty(Code))
            {
                q         = q.Where(item => Erp.BackOffice.Helpers.Common.ChuyenThanhKhongDau(item.Code).ToLower().Contains(Erp.BackOffice.Helpers.Common.ChuyenThanhKhongDau(Code).ToLower()));
                bIsSearch = true;
            }

            if (!string.IsNullOrEmpty(Staff))
            {
                q         = q.Where(item => Erp.BackOffice.Helpers.Common.ChuyenThanhKhongDau(item.StaffCode).ToLower().Contains(Erp.BackOffice.Helpers.Common.ChuyenThanhKhongDau(Staff).ToLower()));
                bIsSearch = true;
            }
            if (!string.IsNullOrEmpty(NameStaff))
            {
                q         = q.Where(item => Erp.BackOffice.Helpers.Common.ChuyenThanhKhongDau(item.StaffName).ToLower().Contains(Erp.BackOffice.Helpers.Common.ChuyenThanhKhongDau(NameStaff).ToLower()));
                bIsSearch = true;
            }
            if (!string.IsNullOrEmpty(Status))
            {
                q         = q.Where(item => item.Status == Status);
                bIsSearch = true;
            }
            if (Type != null && Type.Value > 0)
            {
                q         = q.Where(item => item.Type == Type);
                bIsSearch = true;
            }
            if (!string.IsNullOrEmpty(FormWork))
            {
                q         = q.Where(item => item.FormWork == FormWork);
                bIsSearch = true;
            }

            var user = userRepository.GetUserById(WebSecurity.CurrentUserId);

            if (bIsSearch)
            {
                if (user.UserTypeId == 1)
                {
                    q = q.OrderByDescending(m => m.CreatedDate);
                }
                else
                {
                    q = q.Where(x => x.StaffbranchId == user.BranchId).OrderByDescending(m => m.CreatedDate);
                }
            }
            else
            {
                if (Request["search"] != null)
                {
                    if (user.UserTypeId == 1)
                    {
                        q = q.OrderByDescending(m => m.CreatedDate);
                    }
                    else
                    {
                        q = q.Where(x => x.StaffbranchId == user.BranchId).OrderByDescending(m => m.CreatedDate);
                    }
                }
                else
                {
                    if (user.UserTypeId == 1)
                    {
                        q = q.Where(x => x.Status == "Sắp hết").OrderByDescending(m => m.CreatedDate);
                    }
                    else
                    {
                        q = q.Where(x => x.StaffbranchId == user.BranchId && x.Status == "Sắp hết").OrderByDescending(m => m.CreatedDate);
                    }
                }
            }

            ViewBag.Search         = bIsSearch;
            ViewBag.SuccessMessage = TempData["SuccessMessage"];
            ViewBag.FailedMessage  = TempData["FailedMessage"];
            ViewBag.AlertMessage   = TempData["AlertMessage"];
            return(View(q));
        }