Ejemplo n.º 1
0
        /// <summary>
        /// Saves the Sites
        /// </summary>
        /// <param name="sitesDto"></param>
        /// <returns></returns>
        public bool SaveSites(List <BusinessModel.BusinessModels.Site> sitesDto)
        {
            try
            {
                List <DomainModel.DomainModels.Site> sites        = new List <DomainModel.DomainModels.Site>();
                List <DomainModel.DomainModels.Site> sitesUpdated = new List <DomainModel.DomainModels.Site>();
                DomainModel.DomainModels.Site        siteModel;

                foreach (BusinessModel.BusinessModels.Site siteDto in sitesDto)
                {
                    DomainModel.DomainModels.Site site = _m3pactContext.Site.FirstOrDefault(x => x.SiteId == siteDto.SiteId);
                    if (site != null)
                    {
                        siteModel = site;
                        siteModel.ModifiedDate = DateTime.UtcNow;
                        siteModel.ModifiedBy   = userContext.UserId;
                        sitesUpdated.Add(siteModel);
                    }
                    else
                    {
                        siteModel              = new DomainModel.DomainModels.Site();
                        siteModel.CreatedDate  = DateTime.UtcNow;
                        siteModel.ModifiedDate = DateTime.UtcNow;
                        siteModel.CreatedBy    = userContext.UserId;
                        siteModel.ModifiedBy   = userContext.UserId;
                        sites.Add(siteModel);
                    }
                    siteModel.SiteCode        = siteDto.SiteCode;
                    siteModel.SiteName        = siteDto.SiteName;
                    siteModel.SiteDescription = siteDto.SiteDescription;
                    siteModel.RecordStatus    = siteDto.RecordStatus;
                    siteModel.SiteId          = siteDto.SiteId;
                }
                if (sitesUpdated.Count > 0)
                {
                    _m3pactContext.Site.UpdateRange(sitesUpdated);
                }
                if (sites.Count > 0)
                {
                    _m3pactContext.Site.AddRange(sites);
                }
                if (sitesUpdated.Count > 0 || sites.Count > 0)
                {
                    _m3pactContext.SaveChanges();
                }
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// To activate or inactivate sites
        /// </summary>
        /// <param name="site"></param>
        /// <returns></returns>
        public bool ActivateOrInactivateSites(BusinessModel.BusinessModels.Site site)
        {
            try
            {
                DomainModel.DomainModels.Site repoSite = _m3pactContext.Site.Where(s => s.SiteId == site.SiteId).ToList().FirstOrDefault();

                if (repoSite != null)
                {
                    if (repoSite.RecordStatus == DomainConstants.RecordStatusActive)
                    {
                        repoSite.RecordStatus = DomainConstants.RecordStatusInactive;

                        List <Client> clients = _m3pactContext.Client.Where(c => c.SiteId == repoSite.SiteId && c.IsActive == DomainConstants.RecordStatusActive)?.ToList();
                        if (clients != null && clients.Count > 0)
                        {
                            foreach (Client c in clients)
                            {
                                c.RecordStatus = DomainConstants.RecordStatusInactive;
                                c.IsActive     = DomainConstants.RecordStatusInactive;
                            }
                            _m3pactContext.UpdateRange(clients);
                        }
                    }
                    else
                    {
                        repoSite.RecordStatus = DomainConstants.RecordStatusActive;
                    }

                    _m3pactContext.Update(repoSite);
                    _m3pactContext.SaveChanges();

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }