Ejemplo n.º 1
0
        public ActionResult Create(VmQuotationItem quotationItem)
        {
            try
            {
                var listAttachment = new List <VmAttachmentItem>();
                int i = 0;
                foreach (var itemFile in Request.Form.Files)
                {
                    if (itemFile.Length > 0)
                    {
                        var    tmpFileNameArr = itemFile.FileName.ToString().Split("\\");
                        string tmpFileName    = tmpFileNameArr.Last();
                        var    att            = new VmAttachmentItem
                        {
                            FileName    = tmpFileName,
                            FileSize    = itemFile.Length,
                            FileBinary  = Convert.ToBase64String(ConvertFiletoBytes(itemFile)),
                            Description = Request.Form["fileDescriptionQuotation[]"].ToArray()[i].ToString(),
                            CreatedBy   = quotationItem.CreatedBy,
                            UpdatedBy   = quotationItem.UpdatedBy
                        };

                        listAttachment.Add(att);
                    }
                    i++;
                }

                quotationItem.Document.Attachment = listAttachment;

                var listDocumentUser = new List <VmDocumentUserItem>();
                var arrUser          = Request.Form["documentUserId[]"].ToArray();
                var arrRole          = Request.Form["documentUserRole[]"].ToArray();
                for (int j = 0; j < arrUser.Length; j++)
                {
                    var userId  = arrUser[j];
                    var rolesId = arrRole[j];
                    var roles   = rolesId.Split(',');
                    foreach (var item in roles)
                    {
                        var documentUser = new VmDocumentUserItem
                        {
                            User_Id = Convert.ToInt32(userId),
                            Role_Id = Convert.ToInt32(item)
                        };
                        listDocumentUser.Add(documentUser);
                    }
                }
                quotationItem.Document.DocumentUser = listDocumentUser;

                var listDocumentActivity = new List <VmDocumentActivityItem>();
                var DocumentActivity     = new VmDocumentActivityItem()
                {
                    User_Id = Convert.ToInt32(HttpContext.Session.GetString("User_Id")),
                    IsRfq   = true,
                    Action  = "Create",
                };
                listDocumentActivity.Add(DocumentActivity);
                quotationItem.Document.DocumentActivityList = listDocumentActivity;

                var result = quotationService.SaveQuotation(quotationItem);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> Edit(VmQuotationItem quotationItem)
        {
            try
            {
                var    submitType     = Request.Form["btnType"];
                string documentAction = "";
                if (submitType.ToString().ToLower() == "save as draft")
                {
                    quotationItem.Document.DocumentStatus_Id = Constants_CodeTable.Code_Quotation_Draft;
                    documentAction = "Save as Draft";
                }
                else
                {
                    quotationItem.Document.DocumentStatus_Id = Constants_CodeTable.Code_Quotation_Submitted;
                    documentAction = "Submitted";
                }

                var listAttachment = new List <VmAttachmentItem>();
                int i = 0;
                foreach (var itemFile in Request.Form.Files)
                {
                    if (itemFile.Length > 0)
                    {
                        var    tmpFileNameArr = itemFile.FileName.ToString().Split("\\");
                        string tmpFileName    = tmpFileNameArr.Last();
                        var    att            = new VmAttachmentItem
                        {
                            FileName    = tmpFileName,
                            FileSize    = itemFile.Length,
                            FileBinary  = Convert.ToBase64String(ConvertFiletoBytes(itemFile)),
                            Description = Request.Form["fileDescriptionQuotation[]"].ToArray()[i].ToString(),
                            CreatedBy   = quotationItem.CreatedBy,
                            UpdatedBy   = quotationItem.UpdatedBy
                        };
                        listAttachment.Add(att);
                    }
                    i++;
                }

                quotationItem.Document.Attachment = listAttachment;

                var listDocumentUser = new List <VmDocumentUserItem>();
                var arrUser          = Request.Form["documentUserId[]"].ToArray();
                var arrRole          = Request.Form["documentUserRole[]"].ToArray();
                for (int j = 0; j < arrUser.Length; j++)
                {
                    var userId  = arrUser[j];
                    var rolesId = arrRole[j];
                    var roles   = rolesId.Split(',');
                    foreach (var item in roles)
                    {
                        var documentUser = new VmDocumentUserItem
                        {
                            User_Id = Convert.ToInt32(userId),
                            Role_Id = Convert.ToInt32(item)
                        };
                        listDocumentUser.Add(documentUser);
                    }
                }
                quotationItem.Document.DocumentUser = listDocumentUser;

                var listDocumentActivity = new List <VmDocumentActivityItem>();
                var DocumentActivity     = new VmDocumentActivityItem()
                {
                    User_Id = Convert.ToInt32(HttpContext.Session.GetString("User_Id")),
                    IsRfq   = false,
                    Action  = documentAction,
                };
                listDocumentActivity.Add(DocumentActivity);
                quotationItem.Document.DocumentActivityList = listDocumentActivity;

                //string documentNo = quotationService.UpdateQuotation(quotationItem);

                //return RedirectToAction("Index");

                var result = await quotationService.UpdateQuotation(quotationItem);

                if (result.IsSuccess)
                {
                    return(RedirectToAction("Listing"));
                }
                else
                {
                    TempData["ErrorMessage"] = "Error on updating quotation.";
                    return(RedirectToAction("ErrorForUser", "Home"));
                }
            }
            catch (Exception ex)
            {
                TempData["ErrorMessage"] = ex.Message;
                return(RedirectToAction("ErrorForUser", "Home"));
            }
        }