public ActionResult Create(ShipmentDocument shipmentDocument)
        {
            if (Request.Files.Count > 0)
            {
                var    file                = Request.Files["FilePath"];
                var    fileName            = Path.GetFileName(file.FileName);
                string uploadDirectoryPath = Path.Combine(
                    AppDomain.CurrentDomain.BaseDirectory +
                    @"Uploads\ShipmentDocs\" + shipmentDocument.CustomerNumber + @"\"
                    );
                string savedFileName = Path.Combine(
                    uploadDirectoryPath,
                    DateTime.Now.Ticks + Path.GetExtension(fileName)
                    );
                if (!Directory.Exists(uploadDirectoryPath))
                {
                    Directory.CreateDirectory(uploadDirectoryPath);
                }
                file.SaveAs(savedFileName);
                shipmentDocument.ActualFileName = fileName;
                shipmentDocument.FilePathOnDisc = savedFileName;
            }

            shipmentDocument.CreateDate = DateTime.Now;
            if (ModelState.IsValid)
            {
                db.ShipmentDocuments.Add(shipmentDocument);
                db.SaveChanges();

                return(RedirectToAction("Index", new { customer_number = shipmentDocument.CustomerNumber, shipment_id = shipmentDocument.ShipmentID }));
            }

            return(View(shipmentDocument));
        }
Exemple #2
0
        public ShipmentDocument Create(ShipmentDocument ShipmentDocument)
        {
            if (context.ShipmentDocuments.Where(x => x.Identifier != null && x.Identifier == ShipmentDocument.Identifier).Count() == 0)
            {
                ShipmentDocument.Id = 0;

                ShipmentDocument.Active    = true;
                ShipmentDocument.UpdatedAt = DateTime.Now;
                ShipmentDocument.CreatedAt = DateTime.Now;
                context.ShipmentDocuments.Add(ShipmentDocument);
                return(ShipmentDocument);
            }
            else
            {
                // Load item that will be updated
                ShipmentDocument dbEntry = context.ShipmentDocuments
                                           .FirstOrDefault(x => x.Identifier == ShipmentDocument.Identifier && x.Active == true);

                if (dbEntry != null)
                {
                    dbEntry.CompanyId   = ShipmentDocument.CompanyId ?? null;
                    dbEntry.CreatedById = ShipmentDocument.CreatedById ?? null;
                    dbEntry.ShipmentId  = ShipmentDocument.ShipmentId ?? null;
                    // Set properties
                    dbEntry.Name       = ShipmentDocument.Name;
                    dbEntry.CreateDate = ShipmentDocument.CreateDate;
                    dbEntry.Path       = ShipmentDocument.Path;
                    dbEntry.ItemStatus = ShipmentDocument.ItemStatus;
                    // Set timestamp
                    dbEntry.UpdatedAt = DateTime.Now;
                }

                return(dbEntry);
            }
        }
        public ActionResult DownloadFile(int id = 0)
        {
            ShipmentDocument shipmentDocument = db.ShipmentDocuments.Find(id);

            return(File(shipmentDocument.FilePathOnDisc,
                        FileContent.GetType(Path.GetExtension(shipmentDocument.ActualFileName)),
                        string.Format("{0}", shipmentDocument.ActualFileName)
                        ));
        }
        public ShipmentResponse Create(ShipmentViewModel re)
        {
            ShipmentResponse response = new ShipmentResponse();

            try
            {
                // Backup documents
                List <ShipmentDocumentViewModel> shipmentDocuments = re.ShipmentDocuments?.ToList();
                re.ShipmentDocuments = null;

                Shipment createdShipment = unitOfWork.GetShipmentRepository().Create(re.ConvertToShipment());



                // Update documents
                if (shipmentDocuments != null && shipmentDocuments.Count > 0)
                {
                    // Items for create or update
                    foreach (var shipmentDocument in shipmentDocuments
                             .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <ShipmentDocumentViewModel>())
                    {
                        shipmentDocument.Shipment = new ShipmentViewModel()
                        {
                            Id = createdShipment.Id
                        };
                        shipmentDocument.ItemStatus = ItemStatus.Submited;
                        ShipmentDocument createdShipmentDocument = unitOfWork.GetShipmentDocumentRepository()
                                                                   .Create(shipmentDocument.ConvertToShipmentDocument());
                    }

                    foreach (var item in shipmentDocuments
                             .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <ShipmentDocumentViewModel>())
                    {
                        item.Shipment = new ShipmentViewModel()
                        {
                            Id = createdShipment.Id
                        };
                        unitOfWork.GetShipmentDocumentRepository().Create(item.ConvertToShipmentDocument());

                        unitOfWork.GetShipmentDocumentRepository().Delete(item.Identifier);
                    }
                }

                unitOfWork.Save();

                response.Shipment = createdShipment.ConvertToShipmentViewModel();
                response.Success  = true;
            }
            catch (Exception ex)
            {
                response.Shipment = new ShipmentViewModel();
                response.Success  = false;
                response.Message  = ex.Message;
            }

            return(response);
        }
        public static List <ShipmentDocumentViewModel> ConvertToShipmentDocumentViewModelList(this IEnumerable <ShipmentDocument> shipmentDocuments)
        {
            List <ShipmentDocumentViewModel> ShipmentDocumentViewModels = new List <ShipmentDocumentViewModel>();

            foreach (ShipmentDocument ShipmentDocument in shipmentDocuments)
            {
                ShipmentDocumentViewModels.Add(ShipmentDocument.ConvertToShipmentDocumentViewModel());
            }
            return(ShipmentDocumentViewModels);
        }
        public ActionResult Details(int id = 0)
        {
            ShipmentDocument shipmentdocumentation = db.ShipmentDocuments.Find(id);

            if (shipmentdocumentation == null)
            {
                return(HttpNotFound());
            }
            return(View(shipmentdocumentation));
        }
        public ActionResult Delete(int id = 0)
        {
            ShipmentDocument shipmentDocument = db.ShipmentDocuments.Find(id);

            if (shipmentDocument == null)
            {
                return(HttpNotFound());
            }
            return(View(shipmentDocument));
        }
        public ActionResult Create(string customer_number = "", int shipment_id = 0)
        {
            if (customer_number == string.Empty || shipment_id == 0)
            {
                return(RedirectToAction("Error"));
            }
            ShipmentDocument shipmentDocument = new ShipmentDocument();

            shipmentDocument.CustomerNumber = customer_number;
            shipmentDocument.ShipmentID     = shipment_id;
            return(View(shipmentDocument));
        }
Exemple #9
0
        public ShipmentDocument Delete(Guid identifier)
        {
            ShipmentDocument dbEntry = context.ShipmentDocuments
                                       .Union(context.ChangeTracker.Entries()
                                              .Where(x => x.State == EntityState.Added && x.Entity.GetType() == typeof(ShipmentDocument))
                                              .Select(x => x.Entity as ShipmentDocument))
                                       .FirstOrDefault(x => x.Identifier == identifier && x.Active == true);

            if (dbEntry != null)
            {
                dbEntry.Active    = false;
                dbEntry.UpdatedAt = DateTime.Now;
            }
            return(dbEntry);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            ShipmentDocument shipmentDocument = db.ShipmentDocuments.Find(id);

            db.ShipmentDocuments.Remove(shipmentDocument);
            db.SaveChanges();

            System.IO.File.Delete(shipmentDocument.FilePathOnDisc);
            if (Directory.GetFiles(Path.GetDirectoryName(shipmentDocument.FilePathOnDisc)).Count() == 0)
            {
                Directory.Delete(Path.GetDirectoryName(shipmentDocument.FilePathOnDisc));
            }

            return(RedirectToAction("Index", new { customer_number = shipmentDocument.CustomerNumber, shipment_id = shipmentDocument.ShipmentID }));
        }
        public static ShipmentDocument ConvertToShipmentDocument(this ShipmentDocumentViewModel shipmentDocumentViewModel)
        {
            ShipmentDocument ShipmentDocument = new ShipmentDocument()
            {
                Id         = shipmentDocumentViewModel.Id,
                Identifier = shipmentDocumentViewModel.Identifier,

                ShipmentId = shipmentDocumentViewModel.Shipment?.Id ?? null,

                Name       = shipmentDocumentViewModel.Name,
                CreateDate = shipmentDocumentViewModel.CreateDate,
                Path       = shipmentDocumentViewModel.Path,
                ItemStatus = shipmentDocumentViewModel.ItemStatus,
                Active     = shipmentDocumentViewModel.IsActive,

                CreatedById = shipmentDocumentViewModel.CreatedBy?.Id ?? null,
                CompanyId   = shipmentDocumentViewModel.Company?.Id ?? null,

                CreatedAt = shipmentDocumentViewModel.CreatedAt,
                UpdatedAt = shipmentDocumentViewModel.UpdatedAt
            };

            return(ShipmentDocument);
        }
        public static ShipmentDocumentViewModel ConvertToShipmentDocumentViewModel(this ShipmentDocument shipmentDocument)
        {
            ShipmentDocumentViewModel ShipmentDocumentViewModel = new ShipmentDocumentViewModel()
            {
                Id         = shipmentDocument.Id,
                Identifier = shipmentDocument.Identifier,

                Shipment = shipmentDocument.Shipment?.ConvertToShipmentViewModelLite(),

                Name       = shipmentDocument.Name,
                CreateDate = shipmentDocument.CreateDate,
                Path       = shipmentDocument.Path,
                ItemStatus = shipmentDocument.ItemStatus,
                IsActive   = shipmentDocument.Active,

                CreatedBy = shipmentDocument.CreatedBy?.ConvertToUserViewModelLite(),
                Company   = shipmentDocument.Company?.ConvertToCompanyViewModelLite(),

                UpdatedAt = shipmentDocument.UpdatedAt,
                CreatedAt = shipmentDocument.CreatedAt
            };

            return(ShipmentDocumentViewModel);
        }
Exemple #13
0
        public List <ShipmentDocument> GetShipmentDocuments(int companyId)
        {
            List <ShipmentDocument> ShipmentDocuments = new List <ShipmentDocument>();

            string queryString =
                "SELECT ShipmentDocumentId, ShipmentDocumentIdentifier, " +
                "ShipmentId, ShipmentIdentifier, ShipmentCode, " +
                "Name, CreateDate, Path, ItemStatus, " +
                "Active, UpdatedAt, CreatedById, CreatedByFirstName, CreatedByLastName, " +
                "CompanyId, CompanyName " +
                "FROM vShipmentDocuments " +
                "WHERE CompanyId = @CompanyId AND Active = 1;";

            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                SqlCommand command = connection.CreateCommand();
                command.CommandText = queryString;
                command.Parameters.Add(new SqlParameter("@CompanyId", companyId));

                connection.Open();
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    ShipmentDocument shipmentDocument;
                    while (reader.Read())
                    {
                        shipmentDocument            = new ShipmentDocument();
                        shipmentDocument.Id         = Int32.Parse(reader["ShipmentDocumentId"].ToString());
                        shipmentDocument.Identifier = Guid.Parse(reader["ShipmentDocumentIdentifier"].ToString());

                        if (reader["ShipmentId"] != DBNull.Value)
                        {
                            shipmentDocument.Shipment            = new Shipment();
                            shipmentDocument.ShipmentId          = Int32.Parse(reader["ShipmentId"].ToString());
                            shipmentDocument.Shipment.Id         = Int32.Parse(reader["ShipmentId"].ToString());
                            shipmentDocument.Shipment.Identifier = Guid.Parse(reader["ShipmentIdentifier"].ToString());
                            shipmentDocument.Shipment.Code       = reader["ShipmentCode"].ToString();
                        }

                        if (reader["Name"] != DBNull.Value)
                        {
                            shipmentDocument.Name = reader["Name"].ToString();
                        }
                        if (reader["CreateDate"] != DBNull.Value)
                        {
                            shipmentDocument.CreateDate = DateTime.Parse(reader["CreateDate"].ToString());
                        }
                        if (reader["Path"] != DBNull.Value)
                        {
                            shipmentDocument.Path = reader["Path"].ToString();
                        }
                        if (reader["ItemStatus"] != DBNull.Value)
                        {
                            shipmentDocument.ItemStatus = Int32.Parse(reader["ItemStatus"].ToString());
                        }
                        shipmentDocument.Active    = bool.Parse(reader["Active"].ToString());
                        shipmentDocument.UpdatedAt = DateTime.Parse(reader["UpdatedAt"].ToString());

                        if (reader["CreatedById"] != DBNull.Value)
                        {
                            shipmentDocument.CreatedBy           = new User();
                            shipmentDocument.CreatedById         = Int32.Parse(reader["CreatedById"].ToString());
                            shipmentDocument.CreatedBy.Id        = Int32.Parse(reader["CreatedById"].ToString());
                            shipmentDocument.CreatedBy.FirstName = reader["CreatedByFirstName"]?.ToString();
                            shipmentDocument.CreatedBy.LastName  = reader["CreatedByLastName"]?.ToString();
                        }

                        if (reader["CompanyId"] != DBNull.Value)
                        {
                            shipmentDocument.Company      = new Company();
                            shipmentDocument.CompanyId    = Int32.Parse(reader["CompanyId"].ToString());
                            shipmentDocument.Company.Id   = Int32.Parse(reader["CompanyId"].ToString());
                            shipmentDocument.Company.Name = reader["CompanyName"].ToString();
                        }

                        ShipmentDocuments.Add(shipmentDocument);
                    }
                }
            }
            return(ShipmentDocuments);
        }