public ActionResult Create(DocumentFieldViewModel model)
        {
            var urlRefer = Request["UrlReferrer"];
            var segments = urlRefer.Split('/');
            var IsSearch = Request["staffListcancel"];

            if (ModelState.IsValid)
            {
                //hàm insert documentfield
                DocumentFieldController.SaveUpload(model.Name, IsSearch, model.CategoryId.HasValue ? model.CategoryId.Value : 0, model.Category);
                //lưu các trường thuộc tính động.

                //tạo hoặc cập nhật đặc tính động cho sản phẩm nếu có danh sách đặc tính động truyền vào và đặc tính đó phải có giá trị
                Sale.Controllers.ObjectAttributeController.CreateOrUpdateForObject(model.Id, model.AttributeValueList);

                if (Request["IsPopup"] == "true")
                {
                    ViewBag.closePopup = "close and append to page parent";
                    ViewBag.urlRefer   = urlRefer;
                    //  model.Id = InfoPartyA.Id;
                    return(View(model));
                }

                return(Redirect(urlRefer));
            }
            return(View(model));
        }
        public ActionResult Create(int?Id, string Category)
        {
            var model = new DocumentFieldViewModel();

            model.CategoryId = Id;
            model.Category   = Category;
            Session["file"]  = null;
            return(View(model));
        }
        public ActionResult Detail(DocumentFieldViewModel model)
        {
            List <HttpPostedFileBase> listFile = new List <HttpPostedFileBase>();

            if (Session["file"] != null)
            {
                listFile = (List <HttpPostedFileBase>)Session["file"];
            }

            if (listFile.Count <= 0)
            {
                TempData[Globals.FailedMessageKey] = App_GlobalResources.Error.InsertUnsucess;
                return(View(model));
            }
            else
            {
                int dem = DocumentAttributeRepository.GetAllDocumentAttribute().Where(x => x.DocumentFieldId == model.Id).OrderByDescending(x => x.OrderNo).FirstOrDefault().OrderNo.Value;
                foreach (var item in listFile)
                {
                    dem = dem + 1;
                    var type              = item.FileName.Split('.').Last();
                    var FileName          = model.Name.Replace(" ", "_");
                    var name              = Erp.BackOffice.Helpers.Common.ChuyenThanhKhongDau(FileName).ToLower();
                    var DocumentAttribute = new DocumentAttribute();
                    DocumentAttribute.IsDeleted       = false;
                    DocumentAttribute.CreatedUserId   = WebSecurity.CurrentUserId;
                    DocumentAttribute.ModifiedUserId  = WebSecurity.CurrentUserId;
                    DocumentAttribute.AssignedUserId  = WebSecurity.CurrentUserId;
                    DocumentAttribute.CreatedDate     = DateTime.Now;
                    DocumentAttribute.ModifiedDate    = DateTime.Now;
                    DocumentAttribute.OrderNo         = dem;
                    DocumentAttribute.File            = name + "(" + model.Id + "_" + DocumentAttribute.OrderNo + ")" + "." + type;
                    DocumentAttribute.Size            = item.ContentLength.ToString();
                    DocumentAttribute.TypeFile        = type;
                    DocumentAttribute.DocumentFieldId = model.Id;
                    DocumentAttributeRepository.InsertDocumentAttribute(DocumentAttribute);
                    var  documentfield = DocumentFieldRepository.GetDocumentFieldById(model.Id);
                    var  path          = System.Web.HttpContext.Current.Server.MapPath("~" + Helpers.Common.GetSetting(documentfield.Category));
                    bool isExists      = System.IO.Directory.Exists(path);
                    if (!isExists)
                    {
                        System.IO.Directory.CreateDirectory(path);
                    }
                    item.SaveAs(path + DocumentAttribute.File);
                }
                TempData[Globals.SuccessMessageKey] = App_GlobalResources.Wording.InsertSuccess;
                return(RedirectToAction("Detail", new { Id = model.Id }));
            }
        }
 public ActionResult Edit(DocumentFieldViewModel model)
 {
     if (ModelState.IsValid)
     {
         if (Request["Submit"] == "Save")
         {
             var q             = Request["staffListcancel"];
             var DocumentField = DocumentFieldRepository.GetDocumentFieldById(model.Id);
             AutoMapper.Mapper.Map(model, DocumentField);
             DocumentField.ModifiedUserId = WebSecurity.CurrentUserId;
             DocumentField.ModifiedDate   = DateTime.Now;
             DocumentField.IsSearch       = q;
             DocumentFieldRepository.UpdateDocumentField(DocumentField);
             //tạo hoặc cập nhật đặc tính động cho sản phẩm nếu có danh sách đặc tính động truyền vào và đặc tính đó phải có giá trị
             Sale.Controllers.ObjectAttributeController.CreateOrUpdateForObject(DocumentField.Id, model.AttributeValueList);
             TempData[Globals.SuccessMessageKey] = App_GlobalResources.Wording.UpdateSuccess + " " + DocumentField.Code;
             return(RedirectToAction("Index"));
         }
         return(RedirectToAction("Index"));
     }
     TempData[Globals.FailedMessageKey] = App_GlobalResources.Error.UpdateUnsuccess + " " + model.Code;
     return(RedirectToAction("Index"));
 }
        public ActionResult Edit(int?Id)
        {
            var DocumentField = DocumentFieldRepository.GetDocumentFieldById(Id.Value);

            if (DocumentField != null && DocumentField.IsDeleted != true)
            {
                var model = new DocumentFieldViewModel();
                AutoMapper.Mapper.Map(DocumentField, model);
                if (model.Category == "Contract")
                {
                    model.DetailCategoryList = SelectListHelper.GetSelectList_Contract(model.CategoryId);
                }
                else if (model.Category == "LabourContract")
                {
                    model.DetailCategoryList = SelectListHelper.GetSelectList_LabourContract(model.CategoryId, App_GlobalResources.Wording.Empty);
                }
                else if (model.Category == "InternalNotifications")
                {
                    model.DetailCategoryList = SelectListHelper.GetSelectList_InternalNotifications(model.CategoryId, App_GlobalResources.Wording.Empty);
                }
                else
                {
                    model.DetailCategoryList = new List <SelectListItem>();
                }
                //if (model.CreatedUserId != Erp.BackOffice.Helpers.Common.CurrentUser.Id && Erp.BackOffice.Helpers.Common.CurrentUser.UserTypeId != 1)
                //{
                //    TempData["FailedMessage"] = "NotOwner";
                //    return RedirectToAction("Index");
                //}
                return(View(model));
            }
            if (Request.UrlReferrer != null)
            {
                return(Redirect(Request.UrlReferrer.AbsoluteUri));
            }
            return(RedirectToAction("Index"));
        }
        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"));
        }