示例#1
0
        public JsonResult UpdateOrder(int id, DateTime?continueDate, DateTime?finishDate)
        {
            string login = HttpContext.User.Identity.Name;

            try
            {
                using (PortalKATEKEntities db = new PortalKATEKEntities())
                {
                    PlexiglassOrder order = db.PlexiglassOrder.Find(id);
                    if (order.continueDate != continueDate)
                    {
                        order.continueDate    = continueDate;
                        db.Entry(order).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    if (order.finishDate != finishDate)
                    {
                        order.finishDate      = finishDate;
                        db.Entry(order).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                    return(Json(1, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                logger.Error("PlexiglasController / UpdateOrder: " + " | " + ex + " | " + login);
                return(Json(0, JsonRequestBehavior.AllowGet));
            }
        }
示例#2
0
 public EmailPlexiglas(PlexiglassOrder order, string login, int stepNumber)
 {
     _mailToList = new List <string>();
     _order      = order;
     _login      = login;
     _stepNumber = stepNumber;
     try
     {
         mail.From = new MailAddress(_login);
         if (_stepNumber == 0) //Create - 0
         {
             GetMailListCreate();
             GetMailPM();
             GetMailClient();
         }
         else if (_stepNumber == 1) //Remove - 2
         {
             GetMailListCreate();
             GetMailPM();
             GetMailClient();
         }
         else
         {
         }
         GetSubject();
         GetBody();
         SendEmail();
         _logger.Debug("EmailPlexiglas: " + order.id);
     }
     catch (Exception ex)
     {
         _logger.Error("EmailPlexiglas: " + order.id + " | " + ex);
     }
 }
示例#3
0
        private string GetPositionsOrderName()
        {
            using (PortalKATEKEntities db = new PortalKATEKEntities())
            {
                db.Configuration.ProxyCreationEnabled = false;
                db.Configuration.LazyLoadingEnabled   = false;
                PlexiglassOrder ord = db.PlexiglassOrder
                                      .AsNoTracking()
                                      .Include(a => a.CMO_TypeProduct)
                                      .Where(a => a.id == _order.id)
                                      .First();

                return(" " + ord.CMO_TypeProduct.name + " №" + GetPlanOrdersName(ord.id));
            }
        }
示例#4
0
 public JsonResult AddOrder()
 {
     try
     {
         string login    = HttpContext.User.Identity.Name;
         int    returnId = 0;
         using (PortalKATEKEntities db = new PortalKATEKEntities())
         {
             HttpPostedFileBase[] files = new HttpPostedFileBase[Request.Files.Count];
             for (int i = 0; i < files.Length; i++)
             {
                 files[i] = Request.Files[i];
             }
             int[]  ord           = GetOrdersArray(Request.Form.ToString());
             int    typeMaterials = GetTypeMaterials(Request.Form.ToString());
             int    customer      = GetCustomer(Request.Form.ToString());
             int    fileSize      = files[0].ContentLength;
             var    fileName      = Path.GetFileName(files[0].FileName);
             byte[] fileByteArray = new byte[fileSize];
             files[0].InputStream.Read(fileByteArray, 0, fileSize);
             string fileLocation = Path.Combine(Server.MapPath("~/temp"), fileName);
             if (!Directory.Exists(Server.MapPath("~/temp")))
             {
                 Directory.CreateDirectory(Server.MapPath("~/temp"));
             }
             files[0].SaveAs(fileLocation);
             string error = "";
             using (ExcelEngine excelEngine = new ExcelEngine())
             {
                 IApplication application = excelEngine.Excel;
                 IWorkbook    workbook    = application.Workbooks.Open(fileLocation);
                 IWorksheet   worksheet   = workbook.Worksheets[0];
                 int          lenght      = worksheet.Rows.Length;
                 for (int i = 0; i < lenght; i++)
                 {
                     if (worksheet.Rows[i].Columns[1].DisplayText.Contains("PCAM") == true)
                     {
                         PlexiglassPositionsOrder pos = new PlexiglassPositionsOrder
                         {
                             id_PlexiglassOrder = 0,
                             positionNum        = "",
                             designation        = worksheet.Rows[i].Cells[1].Value.Trim(),
                             name     = worksheet.Rows[i].Cells[2].Value.Trim(),
                             index    = worksheet.Rows[i].Cells[3].Value.Trim(),
                             quentity = 0,
                             square   = 0.0,
                             barcode  = ""
                         };
                         bool correct = GetFileMaterials(pos.designation);
                         if (correct == false)
                         {
                             error += pos.designation + " - файл не найден " + "\n";
                         }
                     }
                 }
                 workbook.Close();
             }
             if (error != "")
             {
                 return(Json(error, JsonRequestBehavior.AllowGet));
             }
             foreach (var p in ord)
             {
                 var order = new PlexiglassOrder
                 {
                     id_PZ_PlanZakaz      = p,
                     id_CMO_TypeProduct   = typeMaterials,
                     id_AspNetUsers       = db.AspNetUsers.First(a => a.Email == login).Id,
                     id_PlexiglassCompany = customer,
                     datetimeCreate       = DateTime.Now,
                     folder = "",
                     remove = false,
                     note   = ""
                 };
                 db.PlexiglassOrder.Add(order);
                 db.SaveChanges();
                 order.folder = CreateFolderAndFileForPreOrder(order.id, files);
                 CreatingPositionsPreorder(order.id, order.folder);
                 db.Entry(order).State = EntityState.Modified;
                 db.SaveChanges();
                 new EmailPlexiglas(order, login, 0);
             }
             return(Json(returnId, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception ex)
     {
         logger.Debug("PlexiglasController/AddOrder: " + ex.Message);
         return(Json(0, JsonRequestBehavior.AllowGet));
     }
 }