Exemple #1
0
        public static ConstructionSiteDocument ConvertToConstructionSiteDocument(this ConstructionSiteDocumentViewModel constructionSiteDocumentViewModel)
        {
            ConstructionSiteDocument constructionSiteDocument = new ConstructionSiteDocument()
            {
                Id         = constructionSiteDocumentViewModel.Id,
                Identifier = constructionSiteDocumentViewModel.Identifier,

                ConstructionSiteId = constructionSiteDocumentViewModel.ConstructionSite?.Id ?? null,

                Name       = constructionSiteDocumentViewModel.Name,
                CreateDate = constructionSiteDocumentViewModel.CreateDate,
                Path       = constructionSiteDocumentViewModel.Path,
                ItemStatus = constructionSiteDocumentViewModel.ItemStatus,

                Active = constructionSiteDocumentViewModel.IsActive,

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

                CreatedAt = constructionSiteDocumentViewModel.CreatedAt,
                UpdatedAt = constructionSiteDocumentViewModel.UpdatedAt
            };

            return(constructionSiteDocument);
        }
        public ConstructionSiteDocument Delete(Guid identifier)
        {
            ConstructionSiteDocument dbEntry = context.ConstructionSiteDocuments
                                               .Union(context.ChangeTracker.Entries()
                                                      .Where(x => x.State == EntityState.Added && x.Entity.GetType() == typeof(ConstructionSiteDocument))
                                                      .Select(x => x.Entity as ConstructionSiteDocument))
                                               .FirstOrDefault(x => x.Identifier == identifier && x.Active == true);

            if (dbEntry != null)
            {
                dbEntry.Active    = false;
                dbEntry.UpdatedAt = DateTime.Now;
            }
            return(dbEntry);
        }
        public ConstructionSiteDocument Create(ConstructionSiteDocument constructionSiteDocument)
        {
            if (context.ConstructionSiteDocuments.Where(x => x.Identifier != null && x.Identifier == constructionSiteDocument.Identifier).Count() == 0)
            {
                constructionSiteDocument.Id = 0;

                constructionSiteDocument.Active    = true;
                constructionSiteDocument.UpdatedAt = DateTime.Now;
                constructionSiteDocument.CreatedAt = DateTime.Now;

                context.ConstructionSiteDocuments.Add(constructionSiteDocument);
                return(constructionSiteDocument);
            }
            else
            {
                // Load item that will be updated
                ConstructionSiteDocument dbEntry = context.ConstructionSiteDocuments
                                                   .FirstOrDefault(x => x.Identifier == constructionSiteDocument.Identifier && x.Active == true);

                if (dbEntry != null)
                {
                    dbEntry.CompanyId   = constructionSiteDocument.CompanyId ?? null;
                    dbEntry.CreatedById = constructionSiteDocument.CreatedById ?? null;

                    // Set properties
                    dbEntry.Name       = constructionSiteDocument.Name;
                    dbEntry.CreateDate = constructionSiteDocument.CreateDate;
                    dbEntry.Path       = constructionSiteDocument.Path;
                    dbEntry.ItemStatus = constructionSiteDocument.ItemStatus;

                    // Set timestamp
                    dbEntry.UpdatedAt = DateTime.Now;
                }

                return(dbEntry);
            }
        }
Exemple #4
0
        public static ConstructionSiteDocumentViewModel ConvertToConstructionSiteDocumentViewModelLite(this ConstructionSiteDocument constructionSiteDocument)
        {
            ConstructionSiteDocumentViewModel constructionSiteDocumentViewModel = new ConstructionSiteDocumentViewModel()
            {
                Id         = constructionSiteDocument.Id,
                Identifier = constructionSiteDocument.Identifier,

                Name       = constructionSiteDocument.Name,
                CreateDate = constructionSiteDocument.CreateDate,
                Path       = constructionSiteDocument.Path,
                ItemStatus = constructionSiteDocument.ItemStatus,

                IsActive = constructionSiteDocument.Active,

                UpdatedAt = constructionSiteDocument.UpdatedAt,
                CreatedAt = constructionSiteDocument.CreatedAt
            };

            return(constructionSiteDocumentViewModel);
        }
        public List <ConstructionSiteDocument> GetConstructionSiteDocuments(int companyId)
        {
            List <ConstructionSiteDocument> ConstructionSiteDocuments = new List <ConstructionSiteDocument>();

            string queryString =
                "SELECT ConstructionSiteDocumentId, ConstructionSiteDocumentIdentifier, " +
                "ConstructionSiteId, ConstructionSiteIdentifier, ConstructionSiteCode, ConstructionSiteName, ConstructionSiteInternalCode, " +
                "Name, CreateDate, Path, ItemStatus, " +
                "Active, UpdatedAt, CreatedById, CreatedByFirstName, CreatedByLastName, " +
                "CompanyId, CompanyName " +
                "FROM vConstructionSiteDocuments " +
                "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())
                {
                    ConstructionSiteDocument constructionSiteDocument;
                    while (reader.Read())
                    {
                        constructionSiteDocument            = new ConstructionSiteDocument();
                        constructionSiteDocument.Id         = Int32.Parse(reader["ConstructionSiteDocumentId"].ToString());
                        constructionSiteDocument.Identifier = Guid.Parse(reader["ConstructionSiteDocumentIdentifier"].ToString());

                        if (reader["ConstructionSiteId"] != DBNull.Value)
                        {
                            constructionSiteDocument.ConstructionSite              = new ConstructionSite();
                            constructionSiteDocument.ConstructionSiteId            = Int32.Parse(reader["ConstructionSiteId"].ToString());
                            constructionSiteDocument.ConstructionSite.Id           = Int32.Parse(reader["ConstructionSiteId"].ToString());
                            constructionSiteDocument.ConstructionSite.Identifier   = Guid.Parse(reader["ConstructionSiteIdentifier"].ToString());
                            constructionSiteDocument.ConstructionSite.Code         = reader["ConstructionSiteCode"].ToString();
                            constructionSiteDocument.ConstructionSite.Name         = reader["ConstructionSiteName"].ToString();
                            constructionSiteDocument.ConstructionSite.InternalCode = reader["ConstructionSiteInternalCode"].ToString();
                        }

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

                        constructionSiteDocument.Active    = bool.Parse(reader["Active"].ToString());
                        constructionSiteDocument.UpdatedAt = DateTime.Parse(reader["UpdatedAt"].ToString());

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

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

                        ConstructionSiteDocuments.Add(constructionSiteDocument);
                    }
                }
            }
            return(ConstructionSiteDocuments);

            //List<ConstructionSiteDocument> ConstructionSiteDocuments = context.ConstructionSiteDocuments
            //    .Include(x => x.ConstructionSite)
            //    .Include(x => x.Company)
            //    .Include(x => x.CreatedBy)
            //    .Where(x => x.Active == true && x.CompanyId == companyId)
            //    .AsNoTracking()
            //    .ToList();

            //return ConstructionSiteDocuments;
        }