コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        public long GetMaxSerialNumber()
        {
            using (var context = new EWUSDbContext())
            {
                long maxSerialNumber = 0;
                if (context.Measures.Count() > 0)
                {
                    maxSerialNumber = context.Measures.Max(x => x.SerialNumber);
                }

                return(++maxSerialNumber);
            }
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        public List <Classification> GetClassificationsByType(string type)
        {
            using (var context = new EWUSDbContext())
            {
                List <Classification> classifications = new List <Classification>();
                classifications = context.Classifications.Where(x => x.ClassificationType == type).AsNoTracking()
                                  .ToList();

                if (classifications != null)
                {
                    return(classifications);
                }
                return(null);
            }
        }
コード例 #7
0
        public IEnumerable <object> GetAll()
        {
            using (var context = new EWUSDbContext())
            {
                var documentInstances = context.DocumentInstances.AsNoTracking()
                                        .Include(x => x.DocumentItems)
                                        .ToList();

                if (documentInstances != null)
                {
                    return(documentInstances);
                }
                return(null);
            }
        }
コード例 #8
0
        public DocumentInstance GetByRefers(long RefersToId, string RefersToTypeName)
        {
            using (var context = new EWUSDbContext())
            {
                DocumentInstance documentInstance = new DocumentInstance();
                documentInstance = context.DocumentInstances.Where(x => x.RefersTo.Id == RefersToId && x.RefersTo.TypeName == RefersToTypeName)
                                   .Include(x => x.DocumentItems)
                                   .FirstOrDefault();

                if (documentInstance != null)
                {
                    return(documentInstance);
                }
                return(null);
            }
        }
コード例 #9
0
        public object GetById(long Id)
        {
            using (var context = new EWUSDbContext())
            {
                DocumentInstance documentInstance = new DocumentInstance();
                documentInstance = context.DocumentInstances.Where(x => x.Id == Id)
                                   .Include(x => x.DocumentItems)
                                   .FirstOrDefault();

                if (documentInstance != null)
                {
                    return(documentInstance);
                }
                return(null);
            }
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        public List <MaintenanceCompany> GetAllMaintenanceCompanies()
        {
            using (var context = new EWUSDbContext())
            {
                List <InvolvedParty> involvedParties = new List <InvolvedParty>();
                involvedParties = context.InvolvedPartys.AsNoTracking()
                                  .ToList();

                IEnumerable <MaintenanceCompany> maintenanceCompanies = involvedParties.OfType <MaintenanceCompany>() as IEnumerable <MaintenanceCompany>;

                if (maintenanceCompanies != null)
                {
                    return(maintenanceCompanies.ToList());
                }
                return(null);
            }
        }
コード例 #12
0
        public MaintenanceCompany GetMaintenanceCompanyById(long Id)
        {
            using (var context = new EWUSDbContext())
            {
                MaintenanceCompany maintenanceCompany = new MaintenanceCompany();
                InvolvedParty      ip = context.InvolvedPartys.Where(x => x.Id == Id)
                                        .FirstOrDefault();

                maintenanceCompany = (MaintenanceCompany)ip;

                if (maintenanceCompany != null)
                {
                    return(maintenanceCompany);
                }
                return(null);
            }
        }
コード例 #13
0
        public List <Customer> GetAllCustomers()
        {
            using (var context = new EWUSDbContext())
            {
                List <InvolvedParty> involvedParties = new List <InvolvedParty>();
                involvedParties = context.InvolvedPartys.AsNoTracking()
                                  .ToList();

                IEnumerable <Customer> customers = involvedParties.OfType <Customer>() as IEnumerable <Customer>;

                if (customers != null)
                {
                    return(customers.ToList());
                }
                return(null);
            }
        }
コード例 #14
0
        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);
        }
コード例 #15
0
        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);
        }
コード例 #16
0
        public Project GetProjectById(long Id)
        {
            using (var context = new EWUSDbContext())
            {
                Project project = new Project();
                project = context.Projects.Where(x => x.Id == Id)
                          .Include(x => x.Region)
                          .Include(x => x.Property)
                          .Include(x => x.Customer)
                          .FirstOrDefault();

                if (project != null)
                {
                    return(project);
                }
                return(null);
            }
        }
コード例 #17
0
        public List <Project> GetAllProjects()
        {
            using (var context = new EWUSDbContext())
            {
                List <Project> projects = new List <Project>();
                projects = context.Projects.AsNoTracking()
                           .Include(x => x.Region)
                           .Include(x => x.Property)
                           .Include(x => x.Customer)
                           .ToList();

                if (projects != null)
                {
                    return(projects);
                }
                return(null);
            }
        }
コード例 #18
0
        public Customer GetCustomerById(long Id)
        {
            using (var context = new EWUSDbContext())
            {
                Customer      customer = new Customer();
                InvolvedParty ip       = context.InvolvedPartys.Where(x => x.Id == Id)
                                         .Include(x => x.DocumentItems)
                                         .FirstOrDefault();

                customer = (Customer)ip;

                if (customer != null)
                {
                    return(customer);
                }
                return(null);
            }
        }
コード例 #19
0
        public List <Measure> GetAllMeasures()
        {
            using (var context = new EWUSDbContext())
            {
                List <Measure> measures = new List <Measure>();
                measures = context.Measures.AsNoTracking()
                           .Include(x => x.MeasureLinks)
                           .Include(x => x.MeasurePictures)
                           .Include(x => x.OperationType)
                           .Include(x => x.DocumentItems)
                           .ToList();

                if (measures != null)
                {
                    return(measures);
                }
                return(null);
            }
        }
コード例 #20
0
        public Measure GetMeasureById(long Id)
        {
            using (var context = new EWUSDbContext())
            {
                Measure measure = new Measure();
                measure = context.Measures.Where(x => x.Id == Id)
                          .Include(x => x.MeasureLinks)
                          .Include(x => x.MeasurePictures)
                          .Include(x => x.OperationType)
                          .Include(x => x.DocumentItems)
                          .FirstOrDefault();

                if (measure != null)
                {
                    return(measure);
                }
                return(null);
            }
        }
コード例 #21
0
        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);
        }
コード例 #22
0
        public List <Customer> GetAllCustomer()
        {
            using (var context = new EWUSDbContext())
            {
                try
                {
                    List <Customer> customers = new List <Customer>();
                    customers = context.Customers.AsNoTracking()
                                .ToList();

                    if (customers != null)
                    {
                        return(customers);
                    }
                    return(null);
                }
                catch (System.Exception ex)
                {
                    throw;
                }
            }
        }
コード例 #23
0
        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);
        }
コード例 #24
0
ファイル: SaveFile.cs プロジェクト: andrijapapiclogeecom/ewus
        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();
                        }
                    }
                }
            }
        }
コード例 #25
0
        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);
        }
コード例 #26
0
        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);
        }