コード例 #1
0
        public HttpResponseMessage CreateClient([FromBody] RequestImport request)
        {
            HttpResponseMessage message;
            var isSuccess = false;
            var msg       = "Client Name already exists";
            var name      = request.Name;

            //validate clientno
            var validationResult = validateRequest(request);

            if (!validationResult.isSuccess)
            {
                message = Request.CreateResponse(HttpStatusCode.OK, new{ message = validationResult.message, validationResult.isSuccess });
                return(message);
            }
            var clientNo = Convert.ToInt32(request.clientNo);


            using (EverestPortalContext context = new EverestPortalContext())
            {
                if (!context.Clients.Any(c => c.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)))
                {
                    if (!string.IsNullOrEmpty(name))
                    {
                        var newClient = new Client()
                        {
                            Name       = name,
                            IsMyClient = false
                        };
                        newClient = context.Clients.Add(newClient);
                        context.SaveChanges();
                        context.ClientMaps.Add(new ClientMap {
                            ClientId = newClient.Id, IRPClientNo = Convert.ToInt16(clientNo)
                        });
                        context.SaveChanges();

                        isSuccess = true;
                        msg       = "Client successfully created";
                    }
                    else
                    {
                        msg = "Enter the valid name";
                    }
                }
                else
                {
                    msg = "Client Name already exists";
                }
            }

            var result = new
            {
                message = msg,
                isSuccess
            };


            message = Request.CreateResponse(HttpStatusCode.OK, result);
            return(message);
        }
コード例 #2
0
        public string SaveMarketBasePacks()
        {
            HttpContent requestContent = Request.Content;
            var         jsonContent    = requestContent.ReadAsStringAsync().Result;
            var         identity       = (ClaimsIdentity)User.Identity;
            int         uid            = Convert.ToInt32(identity.Claims.FirstOrDefault(c => c.Type == "userid").Value.ToString());

            if (jsonContent.Trim() != string.Empty)
            {
                var marketBase = JsonConvert.DeserializeObject <MarketBase>(jsonContent);

                using (var db = new EverestPortalContext())
                {
                    if (marketBase.Id == 0)
                    {
                        marketBase.ModifiedBy   = uid;
                        marketBase.LastModified = DateTime.Now;
                        db.MarketBases.Add(marketBase);

                        db.SaveChanges();
                    }
                    else
                    {
                        MarketBase marketBaseUpdate = db.MarketBases.Where(m => m.Id == marketBase.Id).SingleOrDefault();
                        marketBaseUpdate.Name         = marketBase.Name;
                        marketBaseUpdate.Suffix       = marketBase.Suffix;
                        marketBaseUpdate.Description  = marketBase.Description;
                        marketBaseUpdate.DurationTo   = marketBase.DurationTo;
                        marketBaseUpdate.DurationFrom = marketBase.DurationFrom;
                        db.SaveChanges();

                        int        filterID         = marketBase.Filters[0].Id;
                        BaseFilter baseFilterUpdate = db.BaseFilters.Where(m => m.Id == filterID).SingleOrDefault();
                        baseFilterUpdate.Criteria         = marketBase.Filters[0].Criteria;
                        baseFilterUpdate.IsBaseFilterType = marketBase.Filters[0].IsBaseFilterType;
                        baseFilterUpdate.IsEnabled        = marketBase.Filters[0].IsEnabled;
                        baseFilterUpdate.IsRestricted     = marketBase.Filters[0].IsRestricted;
                        baseFilterUpdate.MarketBaseId     = marketBase.Id;
                        baseFilterUpdate.Name             = marketBase.Filters[0].Name;
                        baseFilterUpdate.Values           = marketBase.Filters[0].Values;

                        marketBaseUpdate.LastModified = DateTime.Now;
                        marketBaseUpdate.ModifiedBy   = uid;

                        db.SaveChanges();
                    }
                }
            }
            return("saved");
        }
コード例 #3
0
        public HttpResponseMessage UpdateListing([FromBody] Listing postedData)
        {
            HttpResponseMessage response = null;

            try
            {
                Listing listingToUpdate;
                using (EverestPortalContext readContext = new EverestPortalContext())
                {
                    listingToUpdate = readContext.Listings.Where(x => x.listingId.Equals(postedData.listingId)).FirstOrDefault <Listing>();
                }
                if (listingToUpdate != null)
                {
                    listingToUpdate.listingTitle           = postedData.listingTitle;
                    listingToUpdate.listingDescription     = postedData.listingDescription;
                    listingToUpdate.listingPharmacyFileUrl = postedData.listingPharmacyFileUrl;
                    listingToUpdate.listingHospitalFileUrl = postedData.listingHospitalFileUrl;
                }

                using (EverestPortalContext updateContext = new EverestPortalContext())
                {
                    updateContext.Entry(listingToUpdate).State = System.Data.Entity.EntityState.Modified;
                    updateContext.SaveChanges();
                }

                //response = Request.CreateResponse<CADPage>(HttpStatusCode.OK,Request.RequestUri.ToString());
                response = Request.CreateResponse <Listing>(HttpStatusCode.OK, postedData);
            }
            catch (Exception ex)
            {
            }
            return(response);
        }
コード例 #4
0
        public HttpResponseMessage UpdateNewsAlert([FromBody] NewsAlert postedData)
        {
            HttpResponseMessage response = null;

            try
            {
                NewsAlert naToBeUpdated;
                using (EverestPortalContext readContext = new EverestPortalContext())
                {
                    naToBeUpdated = readContext.NewsAlerts.Where(x => x.newsAlertId.Equals(postedData.newsAlertId)).FirstOrDefault <NewsAlert>();
                }
                if (naToBeUpdated != null)
                {
                    naToBeUpdated.newsAlertTitle       = postedData.newsAlertTitle;
                    naToBeUpdated.newsAlertDescription = postedData.newsAlertDescription;
                }

                using (EverestPortalContext updateContext = new EverestPortalContext())
                {
                    updateContext.Entry(naToBeUpdated).State = System.Data.Entity.EntityState.Modified;
                    updateContext.SaveChanges();
                }

                //response = Request.CreateResponse<CADPage>(HttpStatusCode.OK,Request.RequestUri.ToString());
                response = Request.CreateResponse <NewsAlert>(HttpStatusCode.OK, postedData);
            }
            catch (Exception ex)
            {
            }
            return(response);
        }
        public HttpResponseMessage updateDeliverable([FromBody] DeliverableModel request)
        {
            HttpResponseMessage responseMessage;
            var message   = "deliverable successfully updated";
            var isSuccess = false;

            using (EverestPortalContext context = new EverestPortalContext())
            {
                var updateDeliverable = context.deliverables.FirstOrDefault(d => d.DeliverableId == request.DeliverableId);
                updateDeliverable.ReportWriterId = request.ReportWriterId;
                updateDeliverable.StartDate      = new DateTime(request.StartDate.Year, request.StartDate.Month, 1);                                       //change into first day of the month
                updateDeliverable.EndDate        = new DateTime(request.EndDate.Year, request.EndDate.Month, DateTime.DaysInMonth(request.EndDate.Year,
                                                                                                                                  request.EndDate.Month)); //change into last day of the month
                updateDeliverable.FrequencyTypeId = request.FrequencyTypeId;
                updateDeliverable.FrequencyId     = request.FrequencyId;
                updateDeliverable.RestrictionId   = request.RestrictionId;
                updateDeliverable.PeriodId        = request.PeriodId;
                updateDeliverable.LastModified    = DateTime.Now;
                updateDeliverable.ModifiedBy      = 1;

                context.SaveChanges();
                isSuccess = true;
            }

            var response = new
            {
                msg = message,
                isSuccess
            };

            responseMessage = Request.CreateResponse(HttpStatusCode.OK, response);
            return(responseMessage);
        }
コード例 #6
0
        public HttpResponseMessage UpdateMonthlyNewProducts([FromBody] MonthlyNewProduct postedData)
        {
            HttpResponseMessage response = null;

            try
            {
                MonthlyNewProduct mdpToUpdate;
                using (EverestPortalContext readContext = new EverestPortalContext())
                {
                    mdpToUpdate = readContext.MonthlyNewProducts.Where(x => x.monthlyNewProductId.Equals(postedData.monthlyNewProductId)).FirstOrDefault <MonthlyNewProduct>();
                }
                if (mdpToUpdate != null)
                {
                    mdpToUpdate.monthlyNewProductTitle       = postedData.monthlyNewProductTitle;
                    mdpToUpdate.monthlyNewProductDescription = postedData.monthlyNewProductDescription;
                }

                using (EverestPortalContext updateContext = new EverestPortalContext())
                {
                    updateContext.Entry(mdpToUpdate).State = System.Data.Entity.EntityState.Modified;
                    updateContext.SaveChanges();
                }

                //response = Request.CreateResponse<CADPage>(HttpStatusCode.OK,Request.RequestUri.ToString());
                response = Request.CreateResponse <MonthlyNewProduct>(HttpStatusCode.OK, postedData);
            }
            catch (Exception ex)
            {
            }
            return(response);
        }
コード例 #7
0
        /// <summary>
        /// adds the new users and clients to userClients
        /// </summary>
        /// <param name="users"></param>
        /// <param name="clients"></param>
        private static void Allocate(IEnumerable <int> users, IEnumerable <int> clients, int actionUser)
        {
            using (EverestPortalContext context = new EverestPortalContext())
            {
                foreach (var userId in users)
                {
                    foreach (var clientId in clients)
                    {
                        if (!context.userClient.Any(x => (x.UserID == userId && x.ClientID == clientId)))//Checks If already User Assigned to Client
                        {
                            context.userClient.Add(new UserClient {
                                UserID = userId, ClientID = clientId
                            });
                        }
                    }
                    ;
                }
                context.SaveChanges();

                foreach (var userId in users)
                {
                    var       objClient = context.Users.SingleOrDefault(p => p.UserID == userId);
                    IAuditLog log       = AuditFactory.GetInstance(typeof(User).Name);
                    log.SaveVersion <User>(objClient, actionUser);
                }
            }
        }
コード例 #8
0
 private static void AllocatePacks(IEnumerable <ReleaseClient> clients, IEnumerable <ReleasePack> packs)
 {
     using (EverestPortalContext context = new EverestPortalContext())
     {
         foreach (var client in clients)
         {
             foreach (var pack in packs)
             {
                 var updateClientException = context.ClientPackException.FirstOrDefault(x => (x.ClientId == client.clientId && x.PackExceptionId == pack.Id));
                 if (updateClientException != null)
                 {
                     updateClientException.ProductLevel = pack.ProductLevel;
                 }
                 else
                 {
                     context.ClientPackException.Add(new ClientPackException
                     {
                         ClientId        = client.clientId,
                         PackExceptionId = pack.Id,
                         ProductLevel    = pack.ProductLevel,
                         ExpiryDate      = new DateTime(DateTime.Now.Year, 12, 31)//last day of th year
                     });
                 }
             }
             ;
         }
         context.SaveChanges();
     }
 }
コード例 #9
0
 private static void updateCLientReleases(IEnumerable <ReleaseClient> clients)
 {
     using (EverestPortalContext context = new EverestPortalContext())
     {
         foreach (var client in clients)
         {
             var updateClient = context.ClientRelease.SingleOrDefault(x => x.ClientId == client.clientId);
             if (updateClient != null)
             {
                 updateClient.CapitalChemist = client.CapitalChemist;
                 updateClient.OneKey         = client.OneKey;
                 updateClient.Census         = client.Census;
             }
             else
             {
                 context.ClientRelease.Add(new ClientRelease
                 {
                     ClientId       = client.clientId,
                     CapitalChemist = client.CapitalChemist,
                     OneKey         = client.OneKey,
                     Census         = client.Census
                 });
             }
         }
         context.SaveChanges();
     }
 }
コード例 #10
0
        public string LockHistories(int UserId, int DefId, string DocType, string LockType, string Status)
        {
            List <LockHistory> lockHistory     = new List <LockHistory>();
            DateTime           currentDatetime = DateTime.Now;

            lockHistory = _db.Database.SqlQuery <LockHistory>("Select *,'' as UserName from LockHistories Where DefId='" + DefId + "' and UserId='" + UserId + "' and DocType='" + DocType + "' and LockType='" + LockType + "' and Status='Active'").ToList();
            //lockHistory.Add(new LockHistory { Id = 1, UserId= UserId, DefId= DefId,DocType= DocType, LockType= LockType,Status= "Active", LockTime= DateTime.Now});
            if (lockHistory.Count() > 0)
            {
                _db.Database.ExecuteSqlCommand("Update LockHistories set LockTime='" + currentDatetime + "' Where DefId='" + DefId + "' and UserId='" + UserId + "' and DocType='" + DocType + "' and Status='Active'");
            }
            else
            {
                _db.LockHistories.Add(new LockHistory {
                    Id = 1, UserId = UserId, DefId = DefId, DocType = DocType, LockType = LockType, Status = "Active", LockTime = currentDatetime, ReleaseTime = null
                });
                _db.SaveChanges();
            }
            var json = JsonConvert.SerializeObject(lockHistory, Formatting.Indented,
                                                   new JsonSerializerSettings
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            });

            return(json);
        }
コード例 #11
0
        public HttpResponseMessage MapECPClientsWithIRP(string clientName)
        {
            HttpResponseMessage message;

            using (EverestPortalContext context = new EverestPortalContext())
            {
                var clients = (from irpclient in context.IRPClients
                               where irpclient.VersionTo == 32767 &&
                               irpclient.ClientName == clientName
                               select new
                {
                    clientId = irpclient.ClientID,
                    clientName = irpclient.ClientName,
                    clientNo = irpclient.ClientNo
                }).ToList();
                foreach (var IRPClient in clients)
                {
                    context.IRPClientMaps.Add(new IRPClientMap {
                        IRPClientID = IRPClient.clientId, IRPClientNo = IRPClient.clientNo
                    });
                }
                context.SaveChanges();

                message = Request.CreateResponse(HttpStatusCode.OK);
                return(message);
            }
        }
コード例 #12
0
        public HttpResponseMessage DeleteCADPage(int Id)
        {
            HttpResponseMessage response;
            CADPage             cadPageToDelete;

            try
            {
                using (EverestPortalContext context = new EverestPortalContext())
                {
                    cadPageToDelete = context.CADPages.Where(x => x.cadPageId.Equals(Id)).FirstOrDefault <CADPage>();

                    if (cadPageToDelete != null)
                    {
                        context.CADPages.Remove(cadPageToDelete);
                        context.SaveChanges();
                    }
                }
                response = Request.CreateResponse(HttpStatusCode.NoContent);
            }
            catch (Exception ex)
            {
                throw;
            }
            return(response);
        }
コード例 #13
0
        public HttpResponseMessage PutCADPage([FromBody] CADPage postedData)
        {
            HttpResponseMessage response = null;

            try
            {
                CADPage cadPageToUpdate;
                using (EverestPortalContext readContext = new EverestPortalContext())
                {
                    cadPageToUpdate = readContext.CADPages.Where(x => x.cadPageId.Equals(postedData.cadPageId)).FirstOrDefault <CADPage>();
                }
                if (cadPageToUpdate != null)
                {
                    cadPageToUpdate.cadPageTitle           = postedData.cadPageTitle;
                    cadPageToUpdate.cadPageDescription     = postedData.cadPageDescription;
                    cadPageToUpdate.cadPagePharmacyFileUrl = postedData.cadPagePharmacyFileUrl;
                    cadPageToUpdate.cadPageHospitalFileUrl = postedData.cadPageHospitalFileUrl;
                }

                using (EverestPortalContext updateContext = new EverestPortalContext())
                {
                    updateContext.Entry(cadPageToUpdate).State = System.Data.Entity.EntityState.Modified;
                    updateContext.SaveChanges();
                }

                //response = Request.CreateResponse<CADPage>(HttpStatusCode.OK,Request.RequestUri.ToString());
                response = Request.CreateResponse <CADPage>(HttpStatusCode.OK, postedData);
            }
            catch (Exception ex)
            {
            }
            return(response);
        }
コード例 #14
0
        public HttpResponseMessage AddCADPage([FromBody] CADPage postedData)
        {
            HttpResponseMessage response = null;

            try
            {
                CADPage newCADPageEntry = new CADPage();
                newCADPageEntry.cadPageTitle           = postedData.cadPageTitle;
                newCADPageEntry.cadPageDescription     = postedData.cadPageDescription;
                newCADPageEntry.cadPagePharmacyFileUrl = postedData.cadPagePharmacyFileUrl;
                newCADPageEntry.cadPageHospitalFileUrl = postedData.cadPageHospitalFileUrl;



                using (EverestPortalContext context = new EverestPortalContext())
                {
                    context.CADPages.Add(newCADPageEntry);
                    context.SaveChanges();
                }

                response = Request.CreateResponse <CADPage>(HttpStatusCode.Created, newCADPageEntry);
            }
            catch (Exception ex)
            {
            }
            return(response);
        }
コード例 #15
0
        public string GenerateHashedResetToken(int userid)
        {
            string salt  = System.Web.Security.Membership.GeneratePassword(6, 2);
            string token = ComputeHash(userid.ToString(), salt);
            int    resetTokenExpiryAge = 1;

            if (ConfigurationManager.AppSettings["ResetTokenExpiryAge"] != null)
            {
                resetTokenExpiryAge = Convert.ToInt32(ConfigurationManager.AppSettings["ResetTokenExpiryAge"]);
            }
            using (EverestPortalContext context = new EverestPortalContext())
            {
                var today       = DateTime.Now;
                var resetTokens = context.ResetTokens.Where(r => r.UserID == userid && r.ExpiryDate >= today).Select(x => x).ToList();
                if (resetTokens != null)
                {
                    foreach (var item in resetTokens)
                    {
                        item.ExpiryDate = DateTime.Now;
                    }
                }

                context.ResetTokens.Add(
                    new ResetToken
                {
                    UserID     = userid,
                    Token      = token,
                    ExpiryDate = DateTime.Now.AddDays(resetTokenExpiryAge)
                });
                context.SaveChanges();
            }
            return(token);
        }
コード例 #16
0
        public async Task <string> SaveMarketBase(int ClientId)
        {
            AuthController objAuth = new AuthController();

            if (objAuth.CheckUserClients(ClientId) == 0)
            {
                return("");
            }
            HttpContent requestContent = Request.Content;
            var         jsonContent    = requestContent.ReadAsStringAsync().Result;
            Guid        Id             = Guid.NewGuid();

            if (jsonContent.Trim() != string.Empty)
            {
                var marketBaseDetails             = JsonConvert.DeserializeObject <MarketbaseDetails>(jsonContent);
                List <DimensionBaseMap> Dimension = marketBaseDetails.Dimension; //to get dimension seperatly.
                List <PxR> PxRCollection          = marketBaseDetails.PxR;       //to get dimension seperatly.

                MarketBase marketBase = marketBaseDetails.MarketBase;
                marketBase.GuiId     = Id.ToString();
                marketBase.LastSaved = DateTime.Now;
                using (var db = new EverestPortalContext())
                {
                    db.MarketBases.Add(marketBase);
                    db.SaveChanges();

                    //to update new marketbase Id
                    await SaveDimensionBaseMap(marketBase.Id, Dimension);
                    await SavePxRBaseMap(marketBase.Id, PxRCollection);
                }
            }
            var objClient = _db.MarketBases.Where(u => u.GuiId == Id.ToString()).ToList <MarketBase>();

            ClientMarketBases clientMarketBases = new ClientMarketBases();

            clientMarketBases.ClientId     = ClientId;
            clientMarketBases.MarketBaseId = objClient.First().Id;
            using (var db = new EverestPortalContext())
            {
                db.ClientMarketBases.Add(clientMarketBases);
                db.SaveChanges();
            }

            //to create new version
            SubmitMarketbaseDetailsInformation(clientMarketBases.MarketBaseId);


            var json = JsonConvert.SerializeObject(objClient, Formatting.Indented,
                                                   new JsonSerializerSettings
            {
                ReferenceLoopHandling = ReferenceLoopHandling.Ignore
            });


            return(json);
        }
        public HttpResponseMessage CreateSubscriptions([FromBody] SubscriptionModel request)
        {
            HttpResponseMessage responseMessage;
            var message   = "subscription successfully created for the selected client";
            var isSuccess = false;

            //replaces with PROFITS with Profit for subscription name convention
            if (request.Name.IndexOf("PROFITS", StringComparison.InvariantCultureIgnoreCase) > 0)
            {
                request.Name = request.Name.Replace("PROFITS", "Profit");
            }

            using (EverestPortalContext context = new EverestPortalContext())
            {
                //check subscription exists for the client
                if (context.subscription.Any(x => (x.ClientId == request.ClientId &&
                                                   x.Name.Equals(request.Name, StringComparison.InvariantCultureIgnoreCase))))
                {
                    message   = "subscriptions already exists for the selected client";
                    isSuccess = false;
                }
                else
                {
                    //adding the new subscriptions to the selected clients
                    var aSubscription = new Subscription()
                    {
                        ClientId  = request.ClientId,
                        Name      = request.Name,
                        StartDate = new DateTime(request.StartDate.Year, request.StartDate.Month, 1),                                       //change into first day of the month
                        EndDate   = new DateTime(request.EndDate.Year, request.EndDate.Month, DateTime.DaysInMonth(request.EndDate.Year,
                                                                                                                   request.EndDate.Month)), //change into last day of the month
                        ServiceTerritoryId = request.ServiceTerritoryId,
                        Active             = true,
                        LastModified       = DateTime.Now,
                        ModifiedBy         = 1,
                        CountryId          = request.CountryId,
                        ServiceId          = request.ServiceId,
                        SourceId           = request.SourceId,
                        DataTypeId         = request.DataTypeId
                    };
                    context.subscription.Add(aSubscription);
                    context.SaveChanges();
                    isSuccess = true;
                }
            }

            var response = new
            {
                msg = message,
                isSuccess
            };

            responseMessage = Request.CreateResponse(HttpStatusCode.OK, response);
            return(responseMessage);
        }
コード例 #18
0
        public async Task <HttpResponseMessage> SaveMarketGroupDetails(int MarketDefId, int ClientId)
        {
            HttpContent      requestContent          = Request.Content;
            string           jsonContent             = requestContent.ReadAsStringAsync().Result;
            var              marketDefinitionDetails = JsonConvert.DeserializeObject <MarketDefinitionDetails>(jsonContent);
            MarketDefinition marketDefinition        = marketDefinitionDetails.MarketDefinition;
            var              IsEdit = MarketDefId > 0 ? 1 : 0;

            List <MarketDefinitionPack>    marketDefinitionPacks    = marketDefinition.MarketDefinitionPacks;//store Packs
            List <MarketDefinitionBaseMap> marketDefinitionBaseMaps = marketDefinition.MarketDefinitionBaseMaps;

            marketDefinition.MarketDefinitionPacks    = null;
            marketDefinition.MarketDefinitionBaseMaps = null;
            //to delete previous market base
            //_db.Database.ExecuteSqlCommand("Delete from MarketDefinitionbaseMaps Where marketdefinitionid=" + MarketDefId);
            SqlParameter paramMarketID = new SqlParameter("@MarketDefID", MarketDefId);
            await _db.Database.ExecuteSqlCommandAsync("exec DeleteMarketDefinitionBaseMap @MarketDefID", paramMarketID);

            var mkt = new MarketDefinition()
            {
                Id = MarketDefId, Name = marketDefinition.Name, ClientId = ClientId, Client = null, MarketDefinitionBaseMaps = null, MarketDefinitionPacks = null, LastSaved = DateTime.Now
            };

            _db.MarketDefinitions.AddOrUpdate(mkt);
            _db.SaveChanges();
            MarketDefId = mkt.Id;

            // to update market definitionId in base maps
            foreach (MarketDefinitionBaseMap rec in marketDefinitionBaseMaps)
            {
                rec.MarketDefinitionId = MarketDefId;
            }

            //to add marketbase again.
            _db.MarketDefinitionBaseMaps.AddRange(marketDefinitionBaseMaps);
            await _db.SaveChangesAsync();

            await SaveMarketPacks(marketDefinitionPacks, MarketDefId);
            await SaveGroupData(MarketDefId, marketDefinitionDetails.GroupView, IsEdit);
            await SaveMarketGroupPack(MarketDefId, marketDefinitionDetails.MarketGroupPack, IsEdit);

            if (marketDefinitionDetails.MarketGroupFilter != null)
            {
                await SaveMarketGroupFilter(MarketDefId, marketDefinitionDetails.MarketGroupFilter, IsEdit);
            }

            //return market info
            var returnDetails = new MarketDefinition()
            {
                Id = MarketDefId, Name = mkt.Name, ClientId = mkt.ClientId
            };

            return(Request.CreateResponse(HttpStatusCode.OK, returnDetails));
        }
コード例 #19
0
        public HttpResponseMessage UpdatePopularLink([FromBody] PopularLink postedData)
        {
            HttpResponseMessage response = null;

            try
            {
                PopularLink popLinkToBeUpdated;
                string      title = string.Empty;
                using (EverestPortalContext readContext = new EverestPortalContext())
                {
                    popLinkToBeUpdated = readContext.PopularLinks.Where(x => x.popularLinkId.Equals(postedData.popularLinkId)).FirstOrDefault <PopularLink>();
                    title = popLinkToBeUpdated.popularLinkTitle;
                }
                if (popLinkToBeUpdated != null)
                {
                    popLinkToBeUpdated.popularLinkTitle        = postedData.popularLinkTitle;
                    popLinkToBeUpdated.popularLinkDescription  = postedData.popularLinkDescription;
                    popLinkToBeUpdated.popularLinkDisplayOrder = postedData.popularLinkDisplayOrder;
                }

                using (EverestPortalContext updateContext = new EverestPortalContext())
                {
                    updateContext.Entry(popLinkToBeUpdated).State = System.Data.Entity.EntityState.Modified;
                    updateContext.SaveChanges();
                }

                if (title != postedData.popularLinkTitle)
                {
                    string filePath = string.Empty, newFilePath = string.Empty;
                    if (ConfigurationManager.AppSettings["PopularLinks"] != null)
                    {
                        string popularLinksFolder = ConfigurationManager.AppSettings["PopularLinks"].ToString();
                        filePath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath.Replace("API", "Web") + popularLinksFolder;

                        System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(filePath);
                        var file = dirInfo.GetFiles().Where(x => x.Name == title + x.Extension).FirstOrDefault();
                        if (filePath != null && System.IO.File.Exists(filePath + @"\" + title + file.Extension))
                        {
                            System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath + @"\" + title + file.Extension);
                            fileInfo.CopyTo(filePath + @"\" + postedData.popularLinkTitle + file.Extension);
                            fileInfo.Delete();
                        }
                    }
                }

                //response = Request.CreateResponse<CADPage>(HttpStatusCode.OK,Request.RequestUri.ToString());
                response = Request.CreateResponse <PopularLink>(HttpStatusCode.OK, postedData);
            }
            catch (Exception ex)
            {
            }
            return(response);
        }
コード例 #20
0
        public void SaveVersion <T>(T cName, int UserId)
        {
            int  Version = 0;
            User val     = (User)(object)cName;

            var result = _db.User_History.Where(i => i.UserID == val.UserID).OrderByDescending(x => x.Version).FirstOrDefault();

            Version = (result == null) ? 1 : result.Version + 1;
            User_History obj = new User_History();

            val.CopyProperties(obj);
            obj.UserID         = val.UserID;
            obj.Version        = Version;
            obj.ModifiedDate   = DateTime.Now;
            obj.ModifiedUserId = UserId;

            _db.User_History.Add(obj);
            _db.SaveChanges();

            UserRole_History roleHistory = new UserRole_History();
            var role = _db.userRole.Where(i => i.UserID == val.UserID).FirstOrDefault();

            role.CopyProperties(roleHistory);
            roleHistory.UserVersion = Version;

            _db.UserRole_History.Add(roleHistory);
            _db.SaveChanges();


            var client = _db.userClient.Where(i => i.UserID == val.UserID).ToList();

            foreach (UserClient clnt in client)
            {
                UserClient_History clientHistory = new UserClient_History();
                clnt.CopyProperties(clientHistory);
                clientHistory.UserVersion = Version;
                _db.UserClient_History.Add(clientHistory);
                _db.SaveChanges();
            }
        }
コード例 #21
0
        public HttpResponseMessage ChangeUserPassword([FromBody] UserDetail userdeatil)
        {
            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.ExpectationFailed);

            try
            {
                using (EverestPortalContext context = new EverestPortalContext())
                {
                    var user = context.Users.FirstOrDefault <Models.Security.User>(x => x.UserID == userdeatil.UserID);
                    if (user != null)
                    {
                        AuthController authController    = new AuthController();
                        var            oldPasswordHashed = authController.GenerateHashedPassword(userdeatil.OldPassword);
                        if (user.Password != oldPasswordHashed)
                        {
                            response = Request.CreateResponse(HttpStatusCode.OK, new { isSuccess = false, message = "The old password is incorrect." });
                        }
                        else
                        {
                            var passwordHashed = authController.GenerateHashedPassword(userdeatil.Password);

                            var passwordHistoryExist = context.PasswordHistories.Where(x => x.UserID.Equals(user.UserID))
                                                       .OrderByDescending(x => x.CreatedDate).Take(12).FirstOrDefault(x => x.Password == passwordHashed);
                            if (passwordHistoryExist != null || user.Password == passwordHashed)
                            {
                                response = Request.CreateResponse(HttpStatusCode.OK, new { isSuccess = false, message = " You cannot reuse one of your last 13 passwords" });
                            }
                            else
                            {
                                context.PasswordHistories.Add(
                                    new Models.Security.PasswordHistory
                                {
                                    UserID      = user.UserID,
                                    Password    = passwordHashed,
                                    CreatedDate = DateTime.Now
                                });
                                user.Password = passwordHashed;
                                user.FailedPasswordAttempt = 0;
                                user.IsPasswordVerified    = true;
                                user.PasswordCreatedDate   = DateTime.Now;
                                context.SaveChanges();
                                response = Request.CreateResponse(HttpStatusCode.OK, new { isSuccess = true, message = "" });
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
            return(response);
        }
コード例 #22
0
        public HttpResponseMessage addMarketBase([FromBody] JObject request)
        {
            if (request != null)
            {
                int clientID = 0;
                if (request["clientid"] != null)
                {
                    string clientid = Convert.ToString(request["clientid"]);
                    int.TryParse(clientid, out clientID);
                }
                AuthController objAuth = new AuthController();
                if (objAuth.CheckUserClients(clientID) == 0)
                {
                    return(Request.CreateResponse(HttpStatusCode.NoContent));
                }

                string subId = request["subscriptionid"].ToString();
                var    MktId = request["mktbaseid"].ToList();

                int subscriptionId = 0;
                int.TryParse(subId, out subscriptionId);
                for (int i = 0; i < MktId.Count; i++)
                {
                    int mktBaseid = 0;
                    int.TryParse(MktId[i].ToString(), out mktBaseid);
                    int recCnt = dbContext.subscriptionMarket.Count(p => p.SubscriptionId == subscriptionId && p.MarketBaseId == mktBaseid);
                    if (recCnt <= 0)
                    {
                        dbContext.subscription.Where(x => x.SubscriptionId == subscriptionId).FirstOrDefault().LastModified = DateTime.Now;
                        dbContext.subscriptionMarket.Add(new SubscriptionMarket {
                            SubscriptionId = subscriptionId, MarketBaseId = mktBaseid
                        });
                    }
                }

                dbContext.SaveChanges();
            }
            return(Request.CreateResponse(HttpStatusCode.Created));
        }
コード例 #23
0
 public Boolean UnlockDefinitions(ICollection <int> lockHistoriesID)
 {
     if (lockHistoriesID.Count > 0)
     {
         using (EverestPortalContext context = new EverestPortalContext())
         {
             context.LockHistories.RemoveRange(context.LockHistories.Where(l => lockHistoriesID.Contains(l.Id)));
             context.SaveChanges();
             return(true);
         }
     }
     return(false);
 }
コード例 #24
0
        public async Task <HttpResponseMessage> SaveExpiryDates([FromBody] RequestRelease request)
        {
            var client = request.Client;
            var packs  = request.Packs;

            using (var context = new EverestPortalContext())
            {
                foreach (var pack in packs)
                {
                    if (pack.ProductLevel)
                    {
                        var eDate = Convert.ToDateTime(pack.ExpiryDate);
                        //var packByPRoducts = await releaseProvider.GetPacksByProduct(new List<ReleasePack> { pack });
                        var response = await releaseProvider.GetPacksByProduct(new List <ReleasePack> {
                            pack
                        }, 1, 1000);

                        var packByPRoducts = response?.Data;

                        foreach (var aPack in packByPRoducts)
                        {
                            var updateClientException = context.ClientPackException.FirstOrDefault(x => x.ClientId == client.clientId && x.PackExceptionId == aPack.Id);
                            if (updateClientException != null)
                            {
                                updateClientException.ExpiryDate = eDate;
                            }
                            else
                            {
                                context.ClientPackException.Add(new ClientPackException {
                                    ClientId        = client.clientId,
                                    PackExceptionId = pack.Id,
                                    ProductLevel    = pack.ProductLevel,
                                    ExpiryDate      = eDate
                                });
                            }
                        }
                    }
                    else
                    {
                        UpdateExpiryDatePack(context, pack, client);
                    }

                    context.SaveChanges();
                }
                ;
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
コード例 #25
0
 private void DeleteMfrAllocation(IEnumerable <int> mfrs, IEnumerable <ReleaseClient> clients)
 {
     using (EverestPortalContext context = new EverestPortalContext())
     {
         foreach (var client in clients)
         {
             foreach (var mfr in mfrs)
             {
                 var mfrClientsToDelete = context.ClientMFR.Where(x => x.ClientId == client.clientId && x.MFRId == mfr);
                 context.ClientMFR.RemoveRange(mfrClientsToDelete);
                 context.SaveChanges();
             }
         }
     }
 }
コード例 #26
0
 private void DeletePackAllocation(IEnumerable <ReleasePack> packs, IEnumerable <ReleaseClient> clients)
 {
     using (EverestPortalContext context = new EverestPortalContext())
     {
         foreach (var client in clients)
         {
             foreach (var pack in packs)
             {
                 var packClientsToDelete = context.ClientPackException.Where(x => x.ClientId == client.clientId && x.PackExceptionId == pack.Id).ToList();
                 context.ClientPackException.RemoveRange(packClientsToDelete);
                 context.SaveChanges();
             }
         }
     }
 }
コード例 #27
0
 public int CreateCustomFilter([FromBody] ReportFilter Filter)
 {
     if (Filter != null)
     {
         using (var db = new EverestPortalContext())
         {
             if (db.ReportFilters.Where(r => r.FilterName.Equals(Filter.FilterName) && r.ModuleID == Filter.ModuleID).Count() > 0)
             {
                 return(0);
             }
             db.ReportFilters.Add(Filter);
             db.SaveChanges();
         }
     }
     return(Filter.FilterID);
 }
コード例 #28
0
        public HttpResponseMessage DeletePopularLink(int Id)
        {
            HttpResponseMessage response;
            PopularLink         popLinkToBeDeleted;

            try
            {
                using (EverestPortalContext context = new EverestPortalContext())
                {
                    popLinkToBeDeleted = context.PopularLinks.Where(x => x.popularLinkId.Equals(Id)).FirstOrDefault <PopularLink>();

                    if (popLinkToBeDeleted != null)
                    {
                        context.PopularLinks.Remove(popLinkToBeDeleted);
                        context.SaveChanges();

                        string filePath = string.Empty;
                        if (ConfigurationManager.AppSettings["PopularLinks"] != null)
                        {
                            string popularLinksFolder = ConfigurationManager.AppSettings["PopularLinks"].ToString();
                            filePath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath.Replace("API", "Web") + popularLinksFolder;

                            System.IO.DirectoryInfo dirInfo = new System.IO.DirectoryInfo(filePath);
                            var file = dirInfo.GetFiles().Where(x => x.Name == popLinkToBeDeleted.popularLinkTitle + x.Extension).FirstOrDefault();
                            if (filePath != null && System.IO.File.Exists(filePath + @"\" + popLinkToBeDeleted.popularLinkTitle + file.Extension))
                            {
                                System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath + @"\" + popLinkToBeDeleted.popularLinkTitle + file.Extension);
                                fileInfo.Delete();
                            }
                        }

                        if (filePath != null && System.IO.File.Exists(filePath))
                        {
                            System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
                            fileInfo.Delete();
                        }
                    }
                }
                response = Request.CreateResponse(HttpStatusCode.NoContent);
            }
            catch (Exception ex)
            {
                throw;
            }
            return(response);
        }
コード例 #29
0
        /// <summary>
        /// Deletes the user clients for the supllied users and clients
        /// </summary>
        /// <param name="users"></param>
        /// <param name="clients"></param>
        private static void DeleteAllocation(IEnumerable <int> users, IEnumerable <int> clients, int actionUser)
        {
            using (EverestPortalContext context = new EverestPortalContext())
            {
                var userClientsToDelete = context.userClient.Where(x => users.Contains(x.UserID) && clients.Contains(x.ClientID));
                context.userClient.RemoveRange(userClientsToDelete);
                context.SaveChanges();
            }

            using (EverestPortalContext context = new EverestPortalContext())
            {
                foreach (int userid in users)
                {
                    var       objClient = context.Users.SingleOrDefault(p => p.UserID == userid);
                    IAuditLog log       = AuditFactory.GetInstance(typeof(User).Name);
                    log.SaveVersion <User>(objClient, actionUser);
                }
            }
        }
コード例 #30
0
        public bool DeleteCustomFilter([FromBody] ReportFilter Filter)
        {
            bool blnDeleted = false;

            if (Filter.FilterID > 0)
            {
                using (var db = new EverestPortalContext())
                {
                    ReportFilter ReportFilterSelected = db.ReportFilters.Where(m => m.FilterID == Filter.FilterID).SingleOrDefault();
                    if (ReportFilterSelected != null)
                    {
                        db.Entry(ReportFilterSelected).State = EntityState.Deleted;
                        db.SaveChanges();
                        blnDeleted = true;
                    }
                }
            }
            return(blnDeleted);
        }