Exemplo n.º 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);
        }
Exemplo n.º 2
0
        private dynamic validateRequest(RequestImport request)
        {
            var isSuccess = true;
            var msg       = "";

            if (string.IsNullOrEmpty(request.clientNo))
            {
                msg       = "Client number cannot be empty.";
                isSuccess = false;
            }
            else
            {
                var clientNo = 0;
                if (int.TryParse(request.clientNo, out clientNo))
                {
                    if (clientNo <= 0)
                    {
                        msg       = "Client number needs to be greater than zero.";
                        isSuccess = false;
                    }
                    else
                    {
                        using (EverestPortalContext context = new EverestPortalContext())
                        {
                            if (context.ClientMaps.Any(c => c.IRPClientNo.ToString() == request.clientNo.Trim()))
                            {
                                msg       = "Client number already exists.";
                                isSuccess = false;
                            }
                        }
                    }
                }
                else
                {
                    msg       = "Client number needs to be an integer.";
                    isSuccess = false;
                }
            }


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

            return(result);
        }
Exemplo n.º 3
0
        public HttpResponseMessage ImportTerritories(RequestImport req)
        {
            //var clientid = req.clientId;
            HttpResponseMessage message;
            var selectedClients = req.selectedClients;

            using (EverestPortalContext context = new EverestPortalContext())
            {
                if (req.selectAll)
                {
                    return(ImportTerritoriesForAllClients("IRP_Import_Territory_All", req.EmailId));
                }
            }

            var drs = executeImportTerritoryDefinitions(selectedClients);

            string msg = "Territory definitions are imported sucessfully";

            if (drs.Count == 0)
            {
                msg = "No territory definitions are imported";
            }

            var logCollection = drs.Select(row => new
            {
                clientId            = Convert.ToString(row["ClientId"]),
                clientName          = Convert.ToString(row["ClientName"]),
                dimensionId         = Convert.ToString(row["DimensionId"]),
                territoryDefinition = Convert.ToString(row["TerritoryDefinition"]),
                status       = Convert.ToString(row["Status"]),
                timeOfImport = Convert.ToString(row["TimeOfImport"]),
                username     = Convert.ToString(row["UserName"])
            }).ToList();


            var result = new
            {
                message   = msg,
                isSuccess = true,
                log       = logCollection
            };

            message = Request.CreateResponse(HttpStatusCode.OK, result);
            return(message);
        }
Exemplo n.º 4
0
        public HttpResponseMessage ExportTdw([FromBody] RequestImport req)
        {
            HttpResponseMessage message;


            var clientIds = req.selectedClients;

            if (req.selectAll)
            {
                using (EverestPortalContext context = new EverestPortalContext())
                {
                    var clients = context.Clients.ToList();
                    clientIds = new List <int>();
                    foreach (var ic in clients)
                    {
                        if (ic.Id != null)
                        {
                            clientIds.Add(Convert.ToInt32(ic.Id));
                        }
                    }
                }
            }
            foreach (var id in clientIds)
            {
                insertClient(id);
            }

            //Execute job
            excuteJobExportTdw();

            //saves the history details for the export TDW
            SaveTdwExportHistory(clientIds, req.selectAll);
            var result = new
            {
                message   = "exported to TDW successfully",
                isSuccess = true
            };

            message = Request.CreateResponse(HttpStatusCode.OK, result);
            return(message);
        }
Exemplo n.º 5
0
        public HttpResponseMessage ImportMarkets(RequestImport req)
        {
            try
            {
                //var clientid = req.clientId;
                HttpResponseMessage message;
                var selectedClients = req.selectedClients;
                using (EverestPortalContext context = new EverestPortalContext())
                {
                    if (req.selectAll)
                    {
                        return(ImportMarketsForAllClients("IRP_Import_Market_All", req.EmailId));
                        //var importedClients = (from c in context.Clients
                        //                       join
                        //                       cm in context.ClientMaps on c.Id equals cm.ClientId
                        //                       select c.Id).Distinct().ToList();
                        ////var clients = context.Clients.ToList();
                        //selectedClients = new List<int>();
                        //foreach (var ic in importedClients)
                        //{
                        //    if (ic != null)
                        //    {
                        //        selectedClients.Add(Convert.ToInt32(ic));
                        //    }
                        //}
                    }
                }

                var drs = executeImportMarketDefinitions(selectedClients);

                string msg = "Market definitions imported sucessfully";
                if (drs.Count == 0)
                {
                    msg = "No market definitions are imported";
                }

                var logCollection = drs.Select(row => new
                {
                    clientId         = Convert.ToString(row["ClientId"]),
                    clientName       = Convert.ToString(row["ClientName"]),
                    dimensionId      = Convert.ToString(row["DimensionId"]),
                    marketDefinition = Convert.ToString(row["MarketDefinition"]),
                    status           = Convert.ToString(row["Status"]),
                    timeOfImport     = Convert.ToString(row["TimeOfImport"]),
                    username         = Convert.ToString(row["UserName"])
                }).ToList();


                var result = new
                {
                    message   = msg,
                    isSuccess = true,
                    log       = logCollection
                };

                message = Request.CreateResponse(HttpStatusCode.OK, result);
                return(message);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 6
0
        public HttpResponseMessage ImportDeliverablesAndSubscriptionForClient(RequestImport req)
        {
            //var clientid = req.clientId;
            HttpResponseMessage message;
            var selectedClientIds = req.selectedClients;
            var importMessage     = string.Empty;

            try
            {
                if (req.selectAll)
                {
                    return(ImportDeliverablesforAllClients("IRP_Import_Subscription_Deliverables_All", req.EmailId));
                }
                using (EverestPortalContext context = new EverestPortalContext())
                {
                    //if (req.selectAll)
                    //{
                    // return ImportDeliverablesforAllClients("IRP_Import_Subscription_Deliverables_All");
                    //var clients = context.ClientMaps.ToList();
                    //selectedClientIds = new List<int>();
                    //foreach (var ic in clients)
                    //{
                    //    if (ic.ClientId != null)
                    //    {
                    //        selectedClientIds.Add(Convert.ToInt32(ic.ClientId));
                    //    }
                    //}
                    // }

                    List <DataRow> nonIAMCollection = new List <DataRow>();
                    List <DataRow> IAMCollection    = new List <DataRow>();

                    List <DataRow> subResponse  = new List <DataRow>();
                    List <DataRow> deliResponse = new List <DataRow>();


                    foreach (var clientid in selectedClientIds)
                    {
                        List <DataRow> subTempResponse  = new List <DataRow>();
                        List <DataRow> deliTempResponse = new List <DataRow>();
                        var            clientNo         = context.ClientMaps.FirstOrDefault(c => c.ClientId == clientid).IRPClientNo;
                        executeDeliverablesIAM(clientNo, ref subTempResponse, ref deliTempResponse);
                        subResponse.AddRange(subTempResponse);
                        deliResponse.AddRange(deliTempResponse);

                        subTempResponse  = new List <DataRow>();
                        deliTempResponse = new List <DataRow>();
                        executeDeliverablesNonIAM(clientNo, ref subTempResponse, ref deliTempResponse);
                        subResponse.AddRange(subTempResponse);
                        deliResponse.AddRange(deliTempResponse);
                    }

                    var dataDeli = deliResponse.Select(dr => new
                    {
                        SubscriptionId = dr != null ? Convert.ToString(dr["SubscriptionId"]) : "",
                        DeliverableId  = dr != null ? Convert.ToString(dr["DeliverableId"]) : "",
                        Frequency      = dr != null ? Convert.ToString(dr["Frequency"]) : "",
                        FrequencyType  = dr != null ? Convert.ToString(dr["FrequencyType"]) : "",
                        Period         = dr != null ? Convert.ToString(dr["Period"]) : "",
                        Status         = dr != null ? Convert.ToString(dr["Status"]) : ""
                    });

                    var dataSub = subResponse.Select(dr => new
                    {
                        SubscriptionId = dr != null ? Convert.ToString(dr["SubscriptionId"]) : "",
                        Country        = dr != null ? Convert.ToString(dr["Country"]) : "",
                        Service        = dr != null ? Convert.ToString(dr["Service"]) : "",
                        TerritoryBase  = dr != null ? Convert.ToString(dr["TerritoryBase"]) : "",
                        DataType       = dr != null ? Convert.ToString(dr["DataType"]) : "",
                        ClienId        = dr != null ? Convert.ToString(dr["ClientId"]) : "",
                        Status         = dr != null ? Convert.ToString(dr["Status"]) : ""
                    });

                    var result = new
                    {
                        sResponse   = dataSub,
                        dResponse   = dataDeli,
                        IsSelectAll = false,
                        importMessage
                    };

                    message = Request.CreateResponse(HttpStatusCode.OK, result);
                    return(message);
                }
            }
            catch (Exception ex)
            {
                string exMessage = ex.Message;
                throw ex;
            }
        }
Exemplo n.º 7
0
        public HttpResponseMessage ImportClients([FromBody] RequestImport request)
        {
            HttpResponseMessage message;

            using (EverestPortalContext context = new EverestPortalContext())
            {
                var isSuccess = false;

                List <int> clientids = request.selectedClients;
                if (request.selectAll)
                {
                    var irpclients = context.IRPClients.ToList();
                    clientids = new List <int>();
                    foreach (var ic in irpclients)
                    {
                        if (ic.ClientId != null)
                        {
                            clientids.Add(Convert.ToInt32(ic.ClientId));
                        }
                    }
                }

                foreach (var clientid in clientids)
                {
                    if (!context.ClientMaps.Any(x => x.IRPClientId == clientid))
                    {
                        var irpClient = context.IRPClients.FirstOrDefault(i => i.ClientId == clientid);
                        if (irpClient != null && !string.IsNullOrEmpty(irpClient.ClientName))
                        {
                            var newClient = new Client()
                            {
                                Name       = irpClient.ClientName,
                                IsMyClient = false
                            };

                            if (!context.Clients.Any(c => c.Name == newClient.Name))
                            {
                                context.Clients.Add(newClient);
                                context.SaveChanges();

                                context.ClientMaps.Add(new ClientMap
                                {
                                    ClientId    = newClient.Id,
                                    IRPClientId = irpClient.ClientId,
                                    IRPClientNo = irpClient.ClientNo,
                                });
                                context.SaveChanges();
                            }
                        }
                    }
                    isSuccess = true;
                }



                var result = new
                {
                    message = "selected client is successfully imported",
                    isSuccess
                };

                message = Request.CreateResponse(HttpStatusCode.OK, result);
                return(message);
            }
        }