public Result ExecuteCommand(Item value) { Result output = new Result(); output.Status = ResultStatus.BadRequest; try { string objectId = value.ObjectId; using (var ctx = new EWUSDbContext()) { var documentItem = ctx.DocumentItems.Where(x => x.ObjectId == objectId).FirstOrDefault(); ctx.DocumentItems.Remove(documentItem); ctx.SaveChanges(); } output.Status = ResultStatus.OK; } catch { output.Status = ResultStatus.InternalServerError; } return(output); }
public Result SaveMaintenanceCompany(MaintenanceCompany editMaintenanceCompany) { Result output = new Result(); output.Status = ResultStatus.BadRequest; using (var ctx = new EWUSDbContext()) { MaintenanceCompany maintenanceCompany = null; if (editMaintenanceCompany.Id > 0) { maintenanceCompany = ctx.MaintenanceCompanies.Where(x => x.Id == editMaintenanceCompany.Id) .FirstOrDefault(); } else { maintenanceCompany = new MaintenanceCompany(); } maintenanceCompany.Name = editMaintenanceCompany.Name; maintenanceCompany.Email = editMaintenanceCompany.Email; if (maintenanceCompany.Id == 0) { ctx.MaintenanceCompanies.Add(maintenanceCompany); } ctx.SaveChanges(); output = Result.ToResult <MaintenanceCompany>(ResultStatus.OK, typeof(MaintenanceCompany)); output.Value = maintenanceCompany; } return(output); }
public Result SaveProject(Project editProject) { Result output = new Result(); output.Status = ResultStatus.BadRequest; using (var ctx = new EWUSDbContext()) { Project project = null; if (editProject.Id > 0) { project = ctx.Projects.Where(x => x.Id == editProject.Id) .Include(x => x.Region) .Include(x => x.Property) .Include(x => x.Customer) .FirstOrDefault(); } else { project = new Project(); } project.Name = editProject.Name; project.Telephone = editProject.Telephone; project.PropertyId = editProject.PropertyId; project.Property = ctx.Classifications.Where(x => x.Id == editProject.PropertyId).FirstOrDefault(); project.CustomerId = editProject.CustomerId; project.Customer = ctx.Customers.Where(x => x.Id == editProject.CustomerId).FirstOrDefault(); project.RegionId = editProject.RegionId; project.Region = ctx.Classifications.Where(x => x.Id == editProject.RegionId).FirstOrDefault(); project.Location = editProject.Location; project.ZipCode = editProject.ZipCode; project.City = editProject.City; project.InvestmentTotal = editProject.InvestmentTotal; project.SavingTotal = editProject.SavingTotal; project.ContactPerson = editProject.ContactPerson; project.ChangesOfUsage = editProject.ChangesOfUsage; project.ServicedObject = editProject.ServicedObject; project.Remark = editProject.Remark; project.PropertyNumber = editProject.PropertyNumber; if (project.Id == 0) { ctx.Projects.Add(project); } ctx.SaveChanges(); output = Result.ToResult <Project>(ResultStatus.OK, typeof(Project)); output.Value = project; } return(output); }
public Result SaveCustomer(Customer editCustomer) { Result output = new Result(); output.Status = ResultStatus.BadRequest; using (var ctx = new EWUSDbContext()) { Customer customer = null; if (editCustomer.Id > 0) { customer = ctx.Customers.Where(x => x.Id == editCustomer.Id) .Include(x => x.DocumentItems) .FirstOrDefault(); if (customer != null) { if (customer.DocumentItems != null) { List <DocumentItem> documents = customer.DocumentItems.ToList(); ctx.DocumentItems.RemoveRange(documents); } } } else { customer = new Customer(); } customer.Name = editCustomer.Name; customer.Email = editCustomer.Email; customer.DocumentItems = editCustomer.DocumentItems; if (customer.Id == 0) { ctx.Customers.Add(customer); } ctx.SaveChanges(); if (!string.IsNullOrEmpty(customer.Guid.ToString()) && customer.DocumentItems != null) { SaveFile.SaveFileInFolder(customer.Guid.ToString(), typeof(Measure).Name, customer.DocumentItems); } output = Result.ToResult <Customer>(ResultStatus.OK, typeof(Customer)); output.Value = customer; } return(output); }
public Result DeleteCustomerById(long Id) { Result output = new Result(); output.Status = ResultStatus.BadRequest; try { using (var ctx = new EWUSDbContext()) { Customer customer = new Customer(); InvolvedParty ip = ctx.InvolvedPartys.Where(x => x.Id == Id) .Include(x => x.DocumentItems) .FirstOrDefault(); customer = (Customer)ip; try { ctx.InvolvedPartys.Remove(customer); ctx.SaveChanges(); } catch (Exception ex) { if (ex.HResult == -2146233087) { output.ExceptionMessage = Constants.ErrorMessageReferentialIntegrity; output.Status = ResultStatus.Forbidden; } else { output.ExceptionMessage = "Exception could not be performed !!!"; output.Status = ResultStatus.InternalServerError; } } } output.Status = ResultStatus.OK; } catch (Exception e) { output.Status = ResultStatus.InternalServerError; } return(output); }
public Result DeleteMeasureById(long Id) { Result output = new Result(); output.Status = ResultStatus.BadRequest; try { using (var ctx = new EWUSDbContext()) { Measure measure = ctx.Measures.Where(x => x.Id == Id) .Include(x => x.MeasureLinks) .Include(x => x.DocumentItems) .Include(x => x.OperationType) .FirstOrDefault(); try { ctx.Measures.Remove(measure); ctx.SaveChanges(); } catch (Exception ex) { if (ex.HResult == -2146233087) { output.ExceptionMessage = Constants.ErrorMessageReferentialIntegrity; output.Status = ResultStatus.Forbidden; } else { output.ExceptionMessage = "Exception could not be performed !!!"; output.Status = ResultStatus.InternalServerError; } } } output.Status = ResultStatus.OK; } catch { output.Status = ResultStatus.InternalServerError; } return(output); }
public Result DeleteMaintenanceCompanyById(long Id) { Result output = new Result(); output.Status = ResultStatus.BadRequest; try { using (var ctx = new EWUSDbContext()) { MaintenanceCompany maintenanceCompany = new MaintenanceCompany(); InvolvedParty ip = ctx.InvolvedPartys.Where(x => x.Id == Id) .FirstOrDefault(); maintenanceCompany = (MaintenanceCompany)ip; try { ctx.InvolvedPartys.Remove(maintenanceCompany); ctx.SaveChanges(); } catch (Exception ex) { if (ex.HResult == -2146233087) { output.ExceptionMessage = Constants.ErrorMessageReferentialIntegrity; output.Status = ResultStatus.Forbidden; } else { output.ExceptionMessage = "Exception could not be performed !!!"; output.Status = ResultStatus.InternalServerError; } } } output.Status = ResultStatus.OK; } catch { output.Status = ResultStatus.InternalServerError; } return(output); }
public Result DeleteProjectById(long Id) { Result output = new Result(); output.Status = ResultStatus.BadRequest; try { using (var ctx = new EWUSDbContext()) { Project project = ctx.Projects.Where(x => x.Id == Id).FirstOrDefault(); try { ctx.Projects.Remove(project); ctx.SaveChanges(); } catch (Exception ex) { if (ex.HResult == -2146233087) { output.ExceptionMessage = Constants.ErrorMessageReferentialIntegrity;; output.Status = ResultStatus.Forbidden; } else { output.ExceptionMessage = "Exception could not be performed !!!"; output.Status = ResultStatus.InternalServerError; } } } output.Status = ResultStatus.OK; } catch { output.Status = ResultStatus.InternalServerError; } return(output); }
public Result DeleteDocumentItem(string docItemObjectId) { Result output = new Result(); output.Status = ResultStatus.BadRequest; try { using (var ctx = new EWUSDbContext()) { DocumentItem documentItem = ctx.DocumentItems.Where(x => x.ObjectId == docItemObjectId).FirstOrDefault(); ctx.DocumentItems.Remove(documentItem); ctx.SaveChanges(); } output.Status = ResultStatus.OK; } catch { output.Status = ResultStatus.InternalServerError; } return(output); }
public static void SaveFileInFolder(string objectGuid, string objectTypeName, Collection <DocumentItem> documentItems) { Thread.Sleep(200); foreach (var docItem in documentItems) { string path = Path.Combine(ConfigurationManager.AppSettings["SharedFolder_" + objectTypeName] + @"\" + docItem.ObjectId); string folderName = ConfigurationManager.AppSettings["SharedFolder_" + objectTypeName]; string viewFileName = string.Empty; using (var stream = File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)) { Image imgThumbnail = Utils.CreateThumbnail(Image.FromStream(stream), new Size(200, 200)); Image imgView = Utils.CreateThumbnail(Image.FromStream(stream), new Size(400, 400)); string filePrefix = string.Empty; string fileExtension = docItem.DocumentName.Substring(docItem.DocumentName.IndexOf('.') + 1); if (objectTypeName == "Measure") { filePrefix = "m"; } else if (objectTypeName == "ProjectMeasure") { filePrefix = "pm"; } else if (objectTypeName == "Customer") { filePrefix = "c"; } string newFileName = filePrefix + "_" + objectGuid + "_o_" + docItem.DocumentName.Substring(0, docItem.DocumentName.IndexOf('.')) + ".png"; viewFileName = filePrefix + "_" + objectGuid + "_v_" + docItem.DocumentName.Substring(0, docItem.DocumentName.IndexOf('.')) + ".png"; string thumbnailFileName = filePrefix + "_" + objectGuid + "_t_" + docItem.DocumentName.Substring(0, docItem.DocumentName.IndexOf('.')) + ".png"; if (!File.Exists(Path.Combine(folderName, thumbnailFileName))) { //copy to thumbnail imgThumbnail.Save(Path.Combine(folderName, thumbnailFileName)); } if (!File.Exists(Path.Combine(folderName, viewFileName))) { //copy to thumbnail imgView.Save(Path.Combine(folderName, viewFileName)); } if (!File.Exists(Path.Combine(folderName, newFileName))) { //copy to original with new name using (var fileStream = File.Create(Path.Combine(folderName, newFileName))) { stream.CopyTo(fileStream); } } } if (docItem.ObjectId.StartsWith("_")) { if (File.Exists(path)) { File.Delete(path); } using (var ctx = new EWUSDbContext()) { DocumentItem di = ctx.DocumentItems.Where(x => x.ObjectId == docItem.ObjectId).FirstOrDefault(); if (di != null) { di.ObjectId = viewFileName; ctx.SaveChanges(); } } } } }
public Result SaveMeasure(Measure editMeasure) { Result output = new Result(); Result <DocumentInstance> outputDocInstance = new Result <DocumentInstance>(); outputDocInstance.Status = ResultStatus.OK; output.Status = ResultStatus.BadRequest; using (var ctx = new EWUSDbContext()) { Measure measure = null; if (editMeasure.Id > 0) { measure = ctx.Measures.Where(x => x.Id == editMeasure.Id) .Include(x => x.MeasureLinks) .Include(x => x.DocumentItems) .Include(x => x.OperationType) .FirstOrDefault(); if (measure != null) { if (measure.MeasureLinks != null) { List <MeasureLink> measureLinks = measure.MeasureLinks.ToList(); ctx.MeasureLinks.RemoveRange(measureLinks); } if (measure.DocumentItems != null) { List <DocumentItem> documents = measure.DocumentItems.ToList(); ctx.DocumentItems.RemoveRange(documents); } } } else { measure = new Measure(); } measure.Name = editMeasure.Name; measure.OperationType = ctx.Classifications.Where(x => x.Id == editMeasure.OperationTypeId).FirstOrDefault(); measure.OperationTypeId = editMeasure.OperationTypeId; measure.Saving = editMeasure.Saving; measure.SerialNumber = editMeasure.SerialNumber; measure.Description = editMeasure.Description; measure.InvestmentCost = editMeasure.InvestmentCost; measure.MeasureLinks = editMeasure.MeasureLinks; measure.DocumentItems = editMeasure.DocumentItems; if (measure.Id == 0) { ctx.Measures.Add(measure); } ctx.SaveChanges(); if (!string.IsNullOrEmpty(measure.Guid.ToString()) && measure.DocumentItems != null) { SaveFile.SaveFileInFolder(measure.Guid.ToString(), typeof(Measure).Name, measure.DocumentItems); } output = Result.ToResult <Measure>(ResultStatus.OK, typeof(Measure)); output.Value = measure; } return(output); }
public static Result <DocumentInstance> InsertAttachment(long documentInstanceId, long RefersTo_Id, string RefersTo_Type_Name, IEnumerable <Item> documentItems, string objectGuid = "", string objectTypeName = "") { Result <DocumentInstance> output = new Result <DocumentInstance>(); output.Status = ResultStatus.OK; DocumentInstance documentInstance = null; List <DocumentItem> lstDocumentItem = null; string documentInformation = string.Empty; try { using (var ctx = new EWUSDbContext()) { if (documentItems != null && documentItems.Count() > 0) { DocumentInstance originalDocumentInstance = new DocumentInstance(); foreach (var item in documentItems) { documentInformation = item.GetValue("Document", string.Empty) as String; DocumentItem documentItem = new DocumentItem(); Attachment convertObject = JsonConvert.DeserializeObject <Attachment>(documentInformation.ToString()); if (convertObject != null) { documentItem.ObjectId = convertObject.ObjectId; documentItem.DocumentName = convertObject.DocumentName; documentItem.DocumentSize = convertObject.DocumentSize; documentItem.DocumentMimeType = convertObject.DocumentMimeType; documentItem.Description = convertObject.Description; originalDocumentInstance.DocumentItems.Add(documentItem); } } documentInstance = ctx.DocumentInstances.Where(x => x.Id == documentInstanceId) .Include(x => x.DocumentItems) .FirstOrDefault(); if (documentInstance == null) { //originalDocumentInstance.RefersTo = new Reference(RefersTo_Id, RefersTo_Type_Name); ctx.DocumentInstances.Add(originalDocumentInstance); } else { lstDocumentItem = documentInstance.DocumentItems.ToList(); ctx.DocumentItems.RemoveRange(lstDocumentItem); documentInstance.DocumentItems = originalDocumentInstance.DocumentItems; } ctx.SaveChanges(); output.Status = ResultStatus.OK; } } } catch (Exception ex) { output.Status = ResultStatus.InternalServerError; } return(output); }