public void RegisterEvidence(ModelViewOrderEvidenceUpload data)
        {
            var dataODS = new BusinessOrder().GetByOrderID(data.OrderID);

            if (!Directory.Exists(Path.Combine(GlobalConfiguration.LocateEvidence, dataODS.FK_ModuleID.ToString())))
            {
                Directory.CreateDirectory(Path.Combine(GlobalConfiguration.LocateEvidence, dataODS.FK_ModuleID.ToString()));
            }

            string filePath = Path.Combine(GlobalConfiguration.LocateEvidence, dataODS.FK_ModuleID.ToString(), data.FileName);

            string relativePath = Path.Combine(GlobalConfiguration.LocateEvidenceRelative, dataODS.FK_ModuleID.ToString(), data.FileName);

            var bytes = Convert.FromBase64String(data.Content);

            using (var imageFile = new FileStream(filePath, FileMode.Create))
            {
                imageFile.Write(bytes, 0, bytes.Length);
                imageFile.Flush();
            }

            int MonitorID   = 0;
            var dataMonitor = new BusinessMonitor().GetByOrderID(dataODS.PK_OrderID); //.GetAll().Where(p => p.OrderID == dataODS.PK_OrderID).Single();

            if (dataMonitor != null)
            {
                MonitorID = dataMonitor.VisitID;
            }

            if (!Exists(data.OrderID, data.TypeEvidence, relativePath))
            {
                Insert(new EntityOrderEvidence()
                {
                    EvidenceID      = 0,
                    OrderID         = dataODS.PK_OrderID,
                    MonitorOrdersID = MonitorID,
                    TypeEvidence    = data.TypeEvidence,
                    URLEvidence     = relativePath,
                    Status          = true,
                    CreateDate      = DateTime.UtcNow,
                    ModifyDate      = DateTime.UtcNow
                });
            }
        }
예제 #2
0
 public static void RegisterEvidence(ModelViewOrderEvidenceUpload data)
 {
     new BusinessOrderEvidence().RegisterEvidence(data);
 }