Exemple #1
0
        public static EmployeeByConstructionSite ConvertToEmployeeByConstructionSite(this EmployeeByConstructionSiteViewModel employeeByConstructionSiteViewModel)
        {
            EmployeeByConstructionSite employeeByConstructionSite = new EmployeeByConstructionSite()
            {
                Id         = employeeByConstructionSiteViewModel.Id,
                Identifier = employeeByConstructionSiteViewModel.Identifier,

                Code        = employeeByConstructionSiteViewModel.Code,
                StartDate   = employeeByConstructionSiteViewModel.StartDate,
                EndDate     = employeeByConstructionSiteViewModel.EndDate,
                RealEndDate = employeeByConstructionSiteViewModel.RealEndDate,

                EmployeeId           = employeeByConstructionSiteViewModel.Employee?.Id ?? null,
                EmployeeCount        = employeeByConstructionSiteViewModel.EmployeeCount,
                BusinessPartnerId    = employeeByConstructionSiteViewModel.BusinessPartner?.Id ?? null,
                BusinessPartnerCount = employeeByConstructionSiteViewModel.BusinessPartnerCount,
                ConstructionSiteId   = employeeByConstructionSiteViewModel.ConstructionSite?.Id ?? null,

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

                CreatedAt = employeeByConstructionSiteViewModel.CreatedAt,
                UpdatedAt = employeeByConstructionSiteViewModel.UpdatedAt
            };

            return(employeeByConstructionSite);
        }
        public EmployeeByConstructionSite Delete(EmployeeByConstructionSite employeeByConstructionSite)
        {
            // Load EmployeeByConstructionSite that will be deleted
            EmployeeByConstructionSite dbEntry = context.EmployeeByConstructionSites
                                                 .Include(x => x.Employee)
                                                 .Include(x => x.CreatedBy)
                                                 .FirstOrDefault(x => x.Identifier == employeeByConstructionSite.Identifier);

            if (dbEntry != null)
            {
                // Set activity
                dbEntry.Active      = false;
                dbEntry.RealEndDate = employeeByConstructionSite.RealEndDate;
                // Set timestamp
                dbEntry.UpdatedAt = DateTime.Now;
            }

            return(dbEntry);
        }
        public EmployeeByConstructionSiteResponse Create(EmployeeByConstructionSiteViewModel re)
        {
            EmployeeByConstructionSiteResponse response = new EmployeeByConstructionSiteResponse();

            try
            {
                ConstructionSite constructionSite = unitOfWork.GetConstructionSiteRepository().GetConstructionSite(re.ConstructionSite.Id);

                Employee employee = unitOfWork.GetEmployeeRepository().GetEmployeeEntity(re.Employee.Id);
                employee.ConstructionSiteCode = constructionSite.InternalCode;
                employee.ConstructionSiteName = constructionSite.Name;
                employee.UpdatedAt            = DateTime.Now;

                EmployeeByConstructionSite addedEmployeeByConstructionSite = unitOfWork.GetEmployeeByConstructionSiteRepository().Create(re.ConvertToEmployeeByConstructionSite());

                EmployeeCard ec = new EmployeeCard()
                {
                    Identifier  = Guid.NewGuid(),
                    EmployeeId  = re.Employee.Id,
                    CardDate    = addedEmployeeByConstructionSite.StartDate,
                    Description = "Radnik " + employee?.Name + " " + employee?.SurName + " je krenuo da radi na gradilištu " + constructionSite?.Name + ". Radnik je na gradilištu od: " + re.StartDate.ToString("dd.MM.yyyy") + " do " + re.EndDate.ToString("dd.MM.yyyy"),
                    PlusMinus   = "+",
                    CreatedById = re.CreatedBy?.Id,
                    CompanyId   = re.Company?.Id,
                    CreatedAt   = DateTime.Now,
                    UpdatedAt   = DateTime.Now
                };
                unitOfWork.GetEmployeeCardRepository().Create(ec);

                unitOfWork.Save();

                response.EmployeeByConstructionSite = addedEmployeeByConstructionSite.ConvertToEmployeeByConstructionSiteViewModel();
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.EmployeeByConstructionSite = new EmployeeByConstructionSiteViewModel();
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }
        public EmployeeByConstructionSite Create(EmployeeByConstructionSite employeeByConstructionSite)
        {
            if (context.EmployeeByConstructionSites.Where(x => x.Identifier != null && x.Identifier == employeeByConstructionSite.Identifier).Count() == 0)
            {
                employeeByConstructionSite.Id = 0;

                employeeByConstructionSite.Code   = GetNewCodeValue(employeeByConstructionSite.CompanyId ?? 0);
                employeeByConstructionSite.Active = true;

                employeeByConstructionSite.UpdatedAt = DateTime.Now;
                employeeByConstructionSite.CreatedAt = DateTime.Now;

                context.EmployeeByConstructionSites.Add(employeeByConstructionSite);
                return(employeeByConstructionSite);
            }
            else
            {
                // Load employeeByConstructionSite that will be updated
                EmployeeByConstructionSite dbEntry = context.EmployeeByConstructionSites
                                                     .FirstOrDefault(x => x.Identifier == employeeByConstructionSite.Identifier && x.Active == true);

                if (dbEntry != null)
                {
                    dbEntry.EmployeeId        = employeeByConstructionSite.EmployeeId ?? null;
                    dbEntry.BusinessPartnerId = employeeByConstructionSite.BusinessPartnerId ?? null;
                    dbEntry.CompanyId         = employeeByConstructionSite.CompanyId ?? null;
                    dbEntry.CreatedById       = employeeByConstructionSite.CreatedById ?? null;

                    // Set properties
                    dbEntry.Code          = employeeByConstructionSite.Code;
                    dbEntry.StartDate     = employeeByConstructionSite.StartDate;
                    dbEntry.EndDate       = employeeByConstructionSite.EndDate;
                    dbEntry.RealEndDate   = employeeByConstructionSite.RealEndDate;
                    dbEntry.EmployeeCount = employeeByConstructionSite.EmployeeCount;

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

                return(dbEntry);
            }
        }
        public EmployeeByConstructionSiteResponse Delete(EmployeeByConstructionSiteViewModel re)
        {
            EmployeeByConstructionSiteResponse response = new EmployeeByConstructionSiteResponse();

            try
            {
                EmployeeByConstructionSite deletedEmployeeByConstructionSite = unitOfWork.GetEmployeeByConstructionSiteRepository().Delete(re.ConvertToEmployeeByConstructionSite());

                Employee         employee         = unitOfWork.GetEmployeeRepository().GetEmployeeEntity((int)deletedEmployeeByConstructionSite.EmployeeId);
                ConstructionSite constructionSite = unitOfWork.GetConstructionSiteRepository().GetConstructionSite((int)deletedEmployeeByConstructionSite.ConstructionSiteId);
                employee.ConstructionSiteCode = "";
                employee.ConstructionSiteName = "";
                employee.UpdatedAt            = DateTime.Now;

                EmployeeCard ec = new EmployeeCard()
                {
                    Identifier  = Guid.NewGuid(),
                    EmployeeId  = deletedEmployeeByConstructionSite.Employee.Id,
                    CardDate    = (DateTime)deletedEmployeeByConstructionSite.RealEndDate,
                    Description = "Radnik " + employee?.Name + " " + employee.SurName + " je prestao da radi na gradilištu " + constructionSite?.Name + ". Prestanak je od: " + ((DateTime)deletedEmployeeByConstructionSite.RealEndDate).ToString("dd.MM.yyyy"),
                    CreatedById = deletedEmployeeByConstructionSite.CreatedById,
                    PlusMinus   = "-",
                    CompanyId   = deletedEmployeeByConstructionSite.CompanyId,
                    CreatedAt   = DateTime.Now,
                    UpdatedAt   = DateTime.Now
                };
                unitOfWork.GetEmployeeCardRepository().Create(ec);

                unitOfWork.Save();

                response.EmployeeByConstructionSite = deletedEmployeeByConstructionSite.ConvertToEmployeeByConstructionSiteViewModel();
                response.Success = true;
            }
            catch (Exception ex)
            {
                response.EmployeeByConstructionSite = new EmployeeByConstructionSiteViewModel();
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }
Exemple #6
0
        public static EmployeeByConstructionSiteViewModel ConvertToEmployeeByConstructionSiteViewModelLite(this EmployeeByConstructionSite employeeByConstructionSite)
        {
            EmployeeByConstructionSiteViewModel remedyViewModel = new EmployeeByConstructionSiteViewModel()
            {
                Id         = employeeByConstructionSite.Id,
                Identifier = employeeByConstructionSite.Identifier,

                Code = employeeByConstructionSite.Code,

                StartDate   = employeeByConstructionSite.StartDate,
                EndDate     = employeeByConstructionSite.EndDate,
                RealEndDate = employeeByConstructionSite.RealEndDate,

                EmployeeCount        = employeeByConstructionSite.EmployeeCount,
                BusinessPartnerCount = employeeByConstructionSite.BusinessPartnerCount,

                IsActive = employeeByConstructionSite.Active,

                UpdatedAt = employeeByConstructionSite.UpdatedAt,
                CreatedAt = employeeByConstructionSite.CreatedAt
            };


            return(remedyViewModel);
        }
        public List <EmployeeByConstructionSite> GetEmployeeByConstructionSites(int companyId)
        {
            List <EmployeeByConstructionSite> EmployeeByConstructionSites = new List <EmployeeByConstructionSite>();

            string queryString =
                "SELECT EmployeeByConstructionSiteId, EmployeeByConstructionSiteIdentifier, EmployeeByConstructionSiteCode, StartDate, EndDate, RealEndDate, " +
                "EmployeeId, EmployeeIdentifier, EmployeeCode, EmployeeName, EmployeeEmployeeCode, " +
                "EmployeeCount, " +
                "BusinessPartnerId, BusinessPartnerIdentifier, BusinessPartnerCode, BusinessPartnerName, " +
                "BusinessPartnerCount, " +
                "ConstructionSiteId, ConstructionSiteIdentifier, ConstructionSiteCode, ConstructionSiteName, " +
                "Active, UpdatedAt, CreatedById, CreatedByFirstName, CreatedByLastName, CompanyId, CompanyName " +
                "FROM vEmployeeByConstructionSites " +
                "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())
                {
                    EmployeeByConstructionSite employeeByConstructionSite;
                    while (reader.Read())
                    {
                        employeeByConstructionSite            = new EmployeeByConstructionSite();
                        employeeByConstructionSite.Id         = Int32.Parse(reader["EmployeeByConstructionSiteId"].ToString());
                        employeeByConstructionSite.Identifier = Guid.Parse(reader["EmployeeByConstructionSiteIdentifier"].ToString());
                        employeeByConstructionSite.Code       = reader["EmployeeByConstructionSiteCode"].ToString();
                        if (reader["StartDate"] != DBNull.Value)
                        {
                            employeeByConstructionSite.StartDate = DateTime.Parse(reader["StartDate"].ToString());
                        }
                        if (reader["EndDate"] != DBNull.Value)
                        {
                            employeeByConstructionSite.EndDate = DateTime.Parse(reader["EndDate"].ToString());
                        }
                        if (reader["RealEndDate"] != DBNull.Value)
                        {
                            employeeByConstructionSite.RealEndDate = DateTime.Parse(reader["RealEndDate"]?.ToString());
                        }

                        if (reader["EmployeeId"] != DBNull.Value)
                        {
                            employeeByConstructionSite.Employee              = new Employee();
                            employeeByConstructionSite.EmployeeId            = Int32.Parse(reader["EmployeeId"].ToString());
                            employeeByConstructionSite.Employee.Id           = Int32.Parse(reader["EmployeeId"].ToString());
                            employeeByConstructionSite.Employee.Identifier   = Guid.Parse(reader["EmployeeIdentifier"].ToString());
                            employeeByConstructionSite.Employee.Code         = reader["EmployeeCode"].ToString();
                            employeeByConstructionSite.Employee.Name         = reader["EmployeeName"].ToString();
                            employeeByConstructionSite.Employee.EmployeeCode = reader["EmployeeEmployeeCode"].ToString();
                        }

                        if (reader["EmployeeCount"] != DBNull.Value)
                        {
                            employeeByConstructionSite.EmployeeCount = Int32.Parse(reader["EmployeeCount"].ToString());
                        }

                        if (reader["BusinessPartnerId"] != DBNull.Value)
                        {
                            employeeByConstructionSite.BusinessPartner            = new BusinessPartner();
                            employeeByConstructionSite.BusinessPartnerId          = Int32.Parse(reader["BusinessPartnerId"].ToString());
                            employeeByConstructionSite.BusinessPartner.Id         = Int32.Parse(reader["BusinessPartnerId"].ToString());
                            employeeByConstructionSite.BusinessPartner.Identifier = Guid.Parse(reader["BusinessPartnerIdentifier"].ToString());
                            employeeByConstructionSite.BusinessPartner.Code       = reader["BusinessPartnerCode"].ToString();
                            employeeByConstructionSite.BusinessPartner.Name       = reader["BusinessPartnerName"].ToString();
                        }

                        if (reader["BusinessPartnerCount"] != DBNull.Value)
                        {
                            employeeByConstructionSite.BusinessPartnerCount = Int32.Parse(reader["BusinessPartnerCount"].ToString());
                        }

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

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

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

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

                        EmployeeByConstructionSites.Add(employeeByConstructionSite);
                    }
                }
            }

            //List<EmployeeByConstructionSite> EmployeeByConstructionSites = context.EmployeeByConstructionSites
            //     .Include(x => x.Employee)
            //     .Include(x => x.BusinessPartner)
            //     .Include(x => x.ConstructionSite)
            //     .Include(x => x.Company)
            //     .Include(x => x.CreatedBy)
            //     .Where(x => x.Active == true && x.CompanyId == companyId)
            //     .OrderByDescending(x => x.CreatedAt)
            //     .AsNoTracking()
            //     .ToList();

            return(EmployeeByConstructionSites);
        }