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)); }
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)); }
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); }
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); }