Example #1
0
        public DC_Message SyncSupplierStaticHotel(Guid log_id, Guid supplier_Id, string CreatedBy)
        {
            try
            {
                Guid LogId;
                using (ConsumerEntities context = new ConsumerEntities())

                {
                    var iScheduledCount = (from dlr in context.DistributionLayerRefresh_Log
                                           where (dlr.Status == "Scheduled" || dlr.Status == "Running") && dlr.Element == "Hotels" && dlr.Type == "Static"
                                           select true).Count();

                    if (iScheduledCount > 0)
                    {
                        return(new DC_Message {
                            StatusMessage = "Supplier Static Hotel sync has already been scheduled.", StatusCode = ReadOnlyMessage.StatusCode.Information
                        });
                    }
                    else
                    {
                        LogId = Guid.NewGuid();

                        DataLayer.DistributionLayerRefresh_Log objNew = new DistributionLayerRefresh_Log();
                        objNew.Id          = LogId;
                        objNew.Element     = "Hotels";
                        objNew.Type        = "Static";
                        objNew.Create_Date = DateTime.Now;
                        objNew.Create_User = CreatedBy;// System.Web.HttpContext.Current.User.Identity.Name;
                        objNew.Status      = "Scheduled";
                        objNew.Supplier_Id = supplier_Id;
                        objNew.Edit_Date   = DateTime.Now;
                        objNew.Edit_User   = CreatedBy;
                        context.DistributionLayerRefresh_Log.Add(objNew);
                        context.SaveChanges();
                    }
                    if (log_id == Guid.Empty)
                    {
                        using (DHSVCProxyAsync DHP = new DHSVCProxyAsync())
                        {
                            string strURI = string.Format(System.Configuration.ConfigurationManager.AppSettings["Load_SupplierStaticHotels"], LogId.ToString(), supplier_Id.ToString());
                            DHP.GetAsync(ProxyFor.SqlToMongo, strURI);
                        }
                    }
                    else
                    {
                        //Code goes here for Indert Update or Delete of a specific country
                    }

                    return(new DC_Message {
                        StatusMessage = "Supplier Static Hotel sync has been scheduled successfully.", StatusCode = ReadOnlyMessage.StatusCode.Success
                    });
                }
            }
            catch (Exception ex)
            {
                return(new DC_Message {
                    StatusMessage = ex.Message, StatusCode = ReadOnlyMessage.StatusCode.Failed
                });
            }
        }
Example #2
0
        private DC_Message InsertDistributionLogNewEntryForMLDataAPI(DC_Distribution_MLDataRQ obj)
        {
            DC_Message msg = new DC_Message();

            try
            {
                using (ConsumerEntities context = new ConsumerEntities())
                {
                    IncomingWebRequestContext woc = WebOperationContext.Current.IncomingRequest;
                    string CallingAgent           = woc.Headers["CallingAgent"];
                    string CallingUser            = woc.Headers["CallingUser"];
                    DataLayer.DistributionLayerRefresh_Log objNew = new DistributionLayerRefresh_Log();
                    objNew.Id          = (obj.Logid ?? Guid.NewGuid());
                    objNew.Element     = obj.Element.Trim();
                    objNew.Type        = obj.Type.Trim();
                    objNew.Create_Date = DateTime.Now;
                    objNew.Create_User = CallingUser;
                    objNew.Status      = obj.Status;
                    context.DistributionLayerRefresh_Log.Add(objNew);
                    context.SaveChanges();
                    msg.StatusCode    = ReadOnlyMessage.StatusCode.Success;
                    msg.StatusMessage = "Sync has been scheduled successfully.";
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(msg);
        }
Example #3
0
        public DC_Message Update_Scheduled_Logs(DC_SchedulerServicesLogs param)
        {
            DataContracts.DC_Message _msg = new DataContracts.DC_Message();

            bool IsExist = false;

            try
            {
                using (ConsumerEntities context = new ConsumerEntities())
                {
                    //To check dupicate state
                    DC_SchedulerServicesLogs RQ = new DC_SchedulerServicesLogs();
                    RQ.Log_Id    = param.Log_Id;
                    RQ.Operation = "LOGID";

                    var result = Get_Scheduled_Logs(RQ);

                    if (result != null)
                    {
                        if (result.Count > 0)
                        {
                            var search = context.Supplier_Scheduled_Task_Log.Find(param.Log_Id);

                            if (search != null)
                            {
                                search.Status_Message = param.Status_Message;
                                search.Log_Type       = param.Log_Type;
                                search.Remarks        = param.Remarks;
                                search.Edit_User      = param.Create_User;
                                search.Edit_Date      = DateTime.Now;
                                context.SaveChanges();
                            }
                            _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Success;
                            _msg.StatusMessage = param.Task_Id + DataContracts.ReadOnlyMessage.strUpdatedSuccessfully;
                            return(_msg);
                        }
                        else
                        {
                            _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Warning;
                            _msg.StatusMessage = param.Task_Id + DataContracts.ReadOnlyMessage.strnotExist;
                            return(_msg);
                        }
                    }
                    else
                    {
                        _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Warning;
                        _msg.StatusMessage = param.Task_Id + DataContracts.ReadOnlyMessage.strnotExist;
                        return(_msg);
                    }
                }
            }
            catch
            {
                throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = "Error while updating Supplier Scheduled Logs.", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #4
0
        public DC_Message InsertKafkaInfo(DataContracts.STG.DC_Stg_Kafka KafkaInfo)
        {
            DC_Message _msg = new DC_Message();

            using (ConsumerEntities context = new ConsumerEntities())
            {
                try
                {
                    if (KafkaInfo != null)
                    {
                        Stg_Kafka sk = new Stg_Kafka()
                        {
                            Row_Id  = KafkaInfo.Row_Id,
                            Status  = KafkaInfo.Status,
                            Topic   = KafkaInfo.Topic,
                            PayLoad = KafkaInfo.PayLoad,
                            Error   = KafkaInfo.Error,
                            Key     = KafkaInfo.Key,
                            Offset  = KafkaInfo.Offset,
                            Partion = KafkaInfo.Partion,
                            //TimeStamp = KafkaInfo.TimeStamp.get,
                            TopicPartion       = KafkaInfo.TopicPartion,
                            TopicPartionOffset = KafkaInfo.TopicPartionOffset,
                            Create_User        = KafkaInfo.Create_User,
                            Create_Date        = KafkaInfo.Create_Date,
                            Process_User       = KafkaInfo.Process_User,
                            Process_Date       = KafkaInfo.Process_Date,
                        };
                        context.Stg_Kafka.Add(sk);
                        if (context.SaveChanges() == 1)
                        {
                            _msg.StatusMessage = ReadOnlyMessage.strAddedSuccessfully;
                            _msg.StatusCode    = ReadOnlyMessage.StatusCode.Success;
                        }
                        else
                        {
                            _msg.StatusMessage = ReadOnlyMessage.strFailed;
                            _msg.StatusCode    = ReadOnlyMessage.StatusCode.Failed;
                        }
                    }
                    else
                    {
                        _msg.StatusMessage = ReadOnlyMessage.strFailed;
                        _msg.StatusCode    = ReadOnlyMessage.StatusCode.Failed;
                    }
                    return(_msg);
                }

                catch (Exception ex)
                {
                    throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                        ErrorMessage = "Error while inserting Kafka details", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                    });
                }
            }
        }
Example #5
0
        public bool UpdateSupplierSchedule(DataContracts.Schedulers.DC_Supplier_Schedule_RQ RQ)
        {
            try
            {
                using (ConsumerEntities context = new ConsumerEntities())
                {
                    var search = (from ac in context.Supplier_Schedule
                                  where ac.SupplierScheduleID == RQ.SupplierScheduleID
                                  select ac).First();
                    if (RQ.IsActive == true)
                    {
                        var Activecount = (from a in context.Supplier_Schedule
                                           where a.Supplier_ID == RQ.Suppllier_ID && a.Entity == RQ.Enitity && a.IsActive == true
                                           select a).Count();
                        if (Activecount == 0)
                        {
                            search.IsActive  = RQ.IsActive;
                            search.Edit_Date = RQ.Edit_Date;
                            search.Edit_User = RQ.Edit_User;
                            context.SaveChanges();
                        }
                    }
                    else if (search != null)
                    {
                        search.IsActive  = RQ.IsActive;
                        search.Edit_Date = RQ.Edit_Date;
                        search.Edit_User = RQ.Edit_User;
                        context.SaveChanges();
                    }

                    return(true);
                }
            }
            catch
            {
                throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = "Error while updating accomodation contacts", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #6
0
        public DataContracts.DC_Message UpdateTaskLog(DataContracts.Schedulers.DC_SupplierScheduledTaskRQ obj)
        {
            try
            {
                DC_Message _msg = new DC_Message();
                using (ConsumerEntities context = new ConsumerEntities())
                {
                    if (obj.TaskId != Guid.Empty)
                    {
                        //var result = (from a in context.Supplier_Scheduled_Task_Log
                        //             join b in context.Supplier_Scheduled_Task on a.Task_Id equals b.Task_Id
                        //             where a.Log_Id == obj.LogId
                        //             select b).FirstOrDefault();
                        var result = (from a in context.Supplier_Scheduled_Task
                                      where a.Task_Id == obj.TaskId
                                      select a).FirstOrDefault();

                        if (result != null)
                        {
                            var unprocessedtask = from a in context.SupplierImportFileDetails
                                                  where a.Supplier_Id == obj.Supplier_Id && a.Entity == obj.Entity && a.STATUS != "PROCESSED" && result.Schedule_Datetime < a.CREATE_DATE
                                                  select a;
                            if (unprocessedtask.Count() == 0)
                            {
                                result.Edit_Date = obj.Edit_Date;
                                result.Edit_User = obj.Edit_User;
                                result.Status    = "Completed";
                                if (context.SaveChanges() == 1)
                                {
                                    _msg.StatusMessage = ReadOnlyMessage.strUpdatedSuccessfully;
                                    _msg.StatusCode    = ReadOnlyMessage.StatusCode.Success;
                                }
                                else
                                {
                                    _msg.StatusMessage = ReadOnlyMessage.strFailed;
                                    _msg.StatusCode    = ReadOnlyMessage.StatusCode.Failed;
                                }
                            }
                        }
                    }
                }
                return(_msg);
            }
            catch (Exception ex)
            {
                throw new FaultException <DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = "Error while saving Supplier Schedule", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #7
0
        public DC_Message Pentaho_SupplierApiCall_Remove(Guid PentahoCall_Id, string CalledBy)
        {
            try
            {
                DC_Message dc = new DataContracts.DC_Message();
                if (PentahoCall_Id != Guid.Empty)
                {
                    string endpointurl = "removeTrans?id=" + PentahoCall_Id.ToString();
                    object result;
                    DHSVCProxy.GetData(ProxyFor.Pentaho, endpointurl, typeof(void), out result);

                    using (ConsumerEntities context = new ConsumerEntities())
                    {
                        List <Supplier_ApiCallLog> results = (from p in context.Supplier_ApiCallLog
                                                              where p.PentahoCall_Id == PentahoCall_Id
                                                              select p).ToList();
                        foreach (Supplier_ApiCallLog p in results)
                        {
                            p.Status    = "REMOVED";
                            p.Edit_User = CalledBy;
                            p.Edit_Date = DateTime.Now;
                            p.Message   = "Transformation Queue has been removed from Server.";
                        }
                        context.SaveChanges();
                    }

                    dc.StatusMessage = "The transformation was removed successfully.";
                    dc.StatusCode    = ReadOnlyMessage.StatusCode.Success;
                }
                else
                {
                    dc.StatusMessage = "Invalid Transformation Call Id !";
                    dc.StatusCode    = ReadOnlyMessage.StatusCode.Danger;
                }
                return(dc);
            }
            catch (Exception e)
            {
                return(new DC_Message {
                    StatusCode = ReadOnlyMessage.StatusCode.Danger, StatusMessage = e.Message
                });
            }
        }
Example #8
0
        public DC_Message UpdateKafkaInfo(DataContracts.STG.DC_Stg_Kafka KafkaInfo)
        {
            DC_Message _msg = new DC_Message();

            try
            {
                using (ConsumerEntities context = new ConsumerEntities())
                {
                    var search = context.Stg_Kafka.Find(KafkaInfo.Row_Id);


                    if (search != null)
                    {
                        if (search.Status != KafkaInfo.Status && KafkaInfo.Status != "")
                        {
                            search.Status = KafkaInfo.Status;
                        }
                        ;
                        search.Key    = KafkaInfo.Key;
                        search.Offset = KafkaInfo.Offset;
                        //search.TimeStamp = KafkaInfo.TimeStamp;
                        search.Partion            = KafkaInfo.Partion;
                        search.TopicPartion       = KafkaInfo.TopicPartion;
                        search.TopicPartionOffset = KafkaInfo.TopicPartionOffset;
                        search.Process_User       = KafkaInfo.Process_User;
                        search.Process_Date       = DateTime.Now;
                        context.SaveChanges();
                    }
                    return(_msg);
                }
            }
            catch (Exception ex)
            {
                throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = "Error while updating Kafka details", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #9
0
        private DC_Message InsertDistributionLogNewEntry(Guid LogId, string elementName, string Type, string status, string CreatedBy)
        {
            DC_Message msg = new DC_Message();

            DataLayer.DistributionLayerRefresh_Log objNew = new DistributionLayerRefresh_Log();
            objNew.Id          = LogId;
            objNew.Element     = elementName;
            objNew.Type        = Type;
            objNew.Create_Date = DateTime.Now;
            objNew.Create_User = CreatedBy;
            objNew.Status      = status;

            using (ConsumerEntities context = new ConsumerEntities())
            {
                context.DistributionLayerRefresh_Log.Add(objNew);
                context.SaveChanges();
            }

            msg.StatusCode    = ReadOnlyMessage.StatusCode.Success;
            msg.StatusMessage = elementName + " " + Type + "Sync has been scheduled successfully.";

            return(msg);
        }
Example #10
0
        public DataContracts.DC_GeoLocation GetGeoLocationByAddress(DataContracts.DC_Address.DC_Address_Physical PA)
        {
            try
            {
                string Address = String.Empty;

                if (!string.IsNullOrEmpty(PA.Street))
                {
                    Address = Address + PA.Street.Trim().TrimEnd(',').Replace(" ", "+") + ",";
                }

                if (!string.IsNullOrEmpty(PA.CityAreaOrDistrict))
                {
                    Address = Address + PA.CityAreaOrDistrict.Trim().TrimEnd(',').Replace(" ", "+") + ",";
                }

                if (!string.IsNullOrEmpty(PA.CityOrTownOrVillage))
                {
                    Address = Address + PA.CityOrTownOrVillage.Trim().TrimEnd(',').Replace(" ", "+") + ",";
                }

                if (!string.IsNullOrEmpty(PA.CountyOrState))
                {
                    Address = Address + PA.CountyOrState.Trim().TrimEnd(',').Replace(" ", "+") + ",";
                }

                if (!string.IsNullOrEmpty(PA.PostalCode))
                {
                    Address = Address + PA.PostalCode.Trim().TrimEnd(',').Replace(" ", "+") + ",";
                }

                if (!string.IsNullOrEmpty(PA.Country))
                {
                    Address = Address + PA.Country.Trim().TrimEnd(',').Replace(" ", "+") + ",";
                }

                Address = Address.TrimEnd(',').Trim();

                DataContracts.DC_GeoLocation mapdata = null;

                if (!string.IsNullOrEmpty(Address))
                {
                    var request = (HttpWebRequest)WebRequest.Create("https://maps.googleapis.com/maps/api/geocode/json?address=" + Address + "&key=" + System.Configuration.ConfigurationManager.AppSettings["GoogleKey"].ToString());

                    var proxyAddress = System.Configuration.ConfigurationManager.AppSettings["ProxyUri"];
                    if (System.Configuration.ConfigurationManager.AppSettings["ProxyUri"] != null)
                    {
                        WebProxy myProxy = new WebProxy();
                        Uri      newUri  = new Uri(proxyAddress);
                        // Associate the newUri object to 'myProxy' object so that new myProxy settings can be set.
                        myProxy.Address = newUri;
                        // Create a NetworkCredential object and associate it with the
                        // Proxy property of request object.
                        //myProxy.Credentials = new NetworkCredential(username, password);
                        request.Proxy = myProxy;
                    }

                    request.KeepAlive = false;
                    //request.Credentials = CredentialCache.DefaultCredentials;
                    HttpWebResponse response = request.GetResponse() as HttpWebResponse;

                    if (response.StatusCode == HttpStatusCode.OK) //response.StatusDescription
                    {
                        Stream       dataStream         = response.GetResponseStream();
                        StreamReader reader             = new StreamReader(dataStream);
                        string       responseFromServer = reader.ReadToEnd();
                        reader.Close();

                        mapdata = JsonConvert.DeserializeObject <DataContracts.DC_GeoLocation>(responseFromServer);

                        if (mapdata != null)
                        {
                            using (ConsumerEntities context = new ConsumerEntities())
                            {
                                GoogleGeoCode GC = new GoogleGeoCode();
                                GC.GoogleGeoCode_Id = Guid.NewGuid();
                                GC.Product_Id       = PA.Product_Id;
                                GC.JobType          = "ProductGeoLookup_ByAddress";
                                GC.Input            = request.Address.AbsoluteUri;
                                GC.OutPut           = responseFromServer;

                                context.GoogleGeoCodes.Add(GC);
                                context.SaveChanges();
                            }
                        }
                    }

                    //DataContractJsonSerializer obj = new DataContractJsonSerializer(typeof(DataContracts.DC_GeoLocation));
                    //var result = obj.ReadObject(dataStream) as DataContracts.DC_GeoLocation;

                    response.Close();
                }

                return(mapdata);
            }
            catch (WebException ex)
            {
                throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = ex.Message, ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #11
0
        public DataContracts.DC_GeoLocation GetGeoLocationByLatLng(DataContracts.DC_Address.DC_Address_GeoCode AG)
        {
            try
            {
                string LatLng = String.Empty;

                LatLng = AG.Latitude.ToString() + "," + AG.Longitude.ToString();

                DataContracts.DC_GeoLocation mapdata = null;

                var request = (HttpWebRequest)WebRequest.Create("https://maps.googleapis.com/maps/api/geocode/json?latlng=" + LatLng + "&key=" + System.Configuration.ConfigurationManager.AppSettings["GoogleKey"].ToString());

                var proxyAddress = System.Configuration.ConfigurationManager.AppSettings["ProxyUri"];
                if (System.Configuration.ConfigurationManager.AppSettings["ProxyUri"] != null)
                {
                    WebProxy myProxy = new WebProxy();
                    Uri      newUri  = new Uri(proxyAddress);
                    // Associate the newUri object to 'myProxy' object so that new myProxy settings can be set.
                    myProxy.Address = newUri;
                    // Create a NetworkCredential object and associate it with the
                    // Proxy property of request object.
                    //myProxy.Credentials = new NetworkCredential(username, password);
                    request.Proxy = myProxy;
                }


                request.KeepAlive = false;
                HttpWebResponse response = request.GetResponse() as HttpWebResponse;

                if (response.StatusCode == HttpStatusCode.OK) //response.StatusDescription
                {
                    Stream       dataStream         = response.GetResponseStream();
                    StreamReader reader             = new StreamReader(dataStream);
                    string       responseFromServer = reader.ReadToEnd();
                    reader.Close();

                    mapdata = JsonConvert.DeserializeObject <DataContracts.DC_GeoLocation>(responseFromServer);

                    if (mapdata != null)
                    {
                        using (ConsumerEntities context = new ConsumerEntities())
                        {
                            GoogleGeoCode GC = new GoogleGeoCode();
                            GC.GoogleGeoCode_Id = Guid.NewGuid();
                            GC.Product_Id       = AG.Product_Id;
                            GC.JobType          = "ProductGeoLookup_ByLatLng";
                            GC.Input            = request.Address.AbsoluteUri;
                            GC.OutPut           = responseFromServer;

                            context.GoogleGeoCodes.Add(GC);
                            context.SaveChanges();
                        }
                    }
                }

                //DataContractJsonSerializer obj = new DataContractJsonSerializer(typeof(DataContracts.DC_GeoLocation));
                //var result = obj.ReadObject(dataStream) as DataContracts.DC_GeoLocation;

                response.Close();

                return(mapdata);
            }
            catch
            {
                throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = "Error while searching address", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #12
0
        public DC_Message Add_Scheduled_Tasklog(DC_SchedulerServicesLogs RQ)
        {
            DC_Message _msg = new DC_Message();

            bool isExist = false;

            if (RQ.Task_Id == Guid.Empty || RQ.Task_Id == null || RQ.Log_Id == null || RQ.Log_Id == null)
            {
                _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Warning;
                _msg.StatusMessage = DataContracts.ReadOnlyMessage.strFailed;
                return(_msg);
            }

            try
            {
                DC_SchedulerServicesLogs Req = new DC_SchedulerServicesLogs();
                Req.Task_Id   = RQ.Task_Id;
                Req.Operation = "TASKID";

                List <DC_SchedulerServicesLogs> existScheduleId = Get_Scheduled_Logs(RQ).ToList();

                if (existScheduleId != null)
                {
                    if (existScheduleId.Count > 0)
                    {
                        _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Duplicate;
                        _msg.StatusMessage = RQ.Task_Id.ToString() + DataContracts.ReadOnlyMessage.strAlreadyExist;
                        return(_msg);
                    }
                    else
                    {
                        isExist = false;
                    }
                }
                else
                {
                    isExist = false;
                }

                if (!isExist)
                {
                    using (ConsumerEntities context = new ConsumerEntities())
                    {
                        Supplier_Scheduled_Task_Log objNew = new Supplier_Scheduled_Task_Log();

                        objNew.Log_Id  = RQ.Log_Id;
                        objNew.Task_Id = RQ.Task_Id;

                        objNew.Status_Message = RQ.Status_Message;
                        objNew.Log_Type       = RQ.Log_Type;
                        objNew.Remarks        = RQ.Remarks;
                        objNew.Create_Date    = DateTime.Now;
                        objNew.Create_User    = RQ.Create_User;
                        objNew.IsActive       = RQ.IsActive;

                        context.Supplier_Scheduled_Task_Log.Add(objNew);
                        context.SaveChanges();
                        objNew = null;

                        _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Success;
                        _msg.StatusMessage = RQ.Task_Id + DataContracts.ReadOnlyMessage.strAddedSuccessfully;
                        return(_msg);
                    }
                }
                else
                {
                    _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Duplicate;
                    _msg.StatusMessage = RQ.Task_Id + DataContracts.ReadOnlyMessage.strAlreadyExist;
                    return(_msg);
                }
            }
            catch (Exception ex)
            {
                throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = "Error while adding Task log", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #13
0
        public DC_Message Delete_Scheduled_Tasks(DC_SchedulerServicesTasks param)
        {
            DataContracts.DC_Message _msg = new DataContracts.DC_Message();

            bool IsExist = false;

            try
            {
                using (ConsumerEntities context = new ConsumerEntities())
                {
                    //To check dupicate state
                    DC_SchedulerServicesTasks RQ = new DC_SchedulerServicesTasks();
                    RQ.Task_Id   = param.Task_Id;
                    RQ.Operation = "TASKID";

                    var result = Get_Scheduled_Tasks(RQ);

                    if (result != null)
                    {
                        if (result.Count > 0)
                        {
                            var search = context.Supplier_Scheduled_Task.Find(param.Task_Id);

                            if (search != null)
                            {
                                if (param.Operation.ToLower() == "softdelete")
                                {
                                    using (var trn = context.Database.BeginTransaction(System.Data.IsolationLevel.ReadCommitted))
                                    {
                                        search.Edit_User = param.Create_User;
                                        search.Edit_Date = DateTime.Now;
                                        search.IsActive  = param.IsActive;
                                        context.SaveChanges();
                                        trn.Commit();
                                    }
                                }
                                _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Success;
                                _msg.StatusMessage = param.Task_Id + DataContracts.ReadOnlyMessage.strDeleted.Replace("deleted", (param.IsActive ? "restored" : "deleted"));
                                return(_msg);
                            }
                            else
                            {
                                _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Warning;
                                _msg.StatusMessage = param.Task_Id + DataContracts.ReadOnlyMessage.strnotExist;
                                return(_msg);
                            }
                        }
                        else
                        {
                            _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Warning;
                            _msg.StatusMessage = param.Task_Id + DataContracts.ReadOnlyMessage.strnotExist;
                            return(_msg);
                        }
                    }
                    else
                    {
                        _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Warning;
                        _msg.StatusMessage = param.Task_Id + DataContracts.ReadOnlyMessage.strnotExist;
                        return(_msg);
                    }
                }
            }
            catch
            {
                throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = "Error while updating Supplier Scheduled Task.", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #14
0
        public DC_Message Update_Scheduled_Tasks(DC_SchedulerServicesTasks param)
        {
            DataContracts.DC_Message _msg = new DataContracts.DC_Message();

            bool IsExist = false;

            try
            {
                using (ConsumerEntities context = new ConsumerEntities())
                {
                    //To check dupicate state
                    DC_SchedulerServicesTasks RQ = new DC_SchedulerServicesTasks();
                    RQ.Task_Id   = param.Task_Id;
                    RQ.Operation = "TASKID";

                    var result = Get_Scheduled_Tasks(RQ);

                    if (result != null)
                    {
                        if (result.Count > 0)
                        {
                            var search = context.Supplier_Scheduled_Task.Find(param.Task_Id);
                            if (search != null)
                            {
                                using (var trn = context.Database.BeginTransaction(System.Data.IsolationLevel.ReadCommitted))
                                {
                                    search.Status = param.Status;

                                    // Condition for Change Running Status to completed.
                                    if (param.Api_Call_Log_Id != null)
                                    {
                                        search.Api_Call_Log_Id = param.Api_Call_Log_Id;
                                    }

                                    search.Edit_User = param.Create_User;
                                    search.Edit_Date = DateTime.Now;
                                    context.SaveChanges();

                                    trn.Commit();
                                }
                            }
                            _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Success;
                            _msg.StatusMessage = param.Task_Id + DataContracts.ReadOnlyMessage.strUpdatedSuccessfully;
                            return(_msg);
                        }
                        else
                        {
                            _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Warning;
                            _msg.StatusMessage = param.Task_Id + DataContracts.ReadOnlyMessage.strnotExist;
                            return(_msg);
                        }
                    }
                    else
                    {
                        _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Warning;
                        _msg.StatusMessage = param.Task_Id + DataContracts.ReadOnlyMessage.strnotExist;
                        return(_msg);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = "Error while updating Supplier Scheduled Task.", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #15
0
        /// <summary></summary>
        /// <param name="Json Request">
        /// {"Api_Call_Log_Id":"29D2EEAA-3252-45AA-9D5F-1A9BF6EFD5F2","Create_User":"******","IsActive":true,"Schedule_Id":"5EFDE08C-95A2-4449-8D1B-044FA5C981EB",
        /// "Status":"Pending","Schedule_Datetime":"\/Date(928129800000+0530)\/","Task_Id":"AAEF6E0B-C8AB-4BC7-985F-A3D9BC6799B4"}</param>
        /// <returns - Json Response>
        /// {  "StatusCode": 1,  "StatusMessage": "5efde08c-95a2-4449-8d1b-044fa5c981eb has been added successfully."}
        /// </returns>
        public DC_Message Add_Scheduled_Tasks(DC_SchedulerServicesTasks RqDC_SchedulerServices)
        {
            DC_Message _msg = new DC_Message();

            bool isExist = false;

            if (RqDC_SchedulerServices.Task_Id == Guid.Empty || RqDC_SchedulerServices.Task_Id == null || RqDC_SchedulerServices.Schedule_Id == null || RqDC_SchedulerServices.Schedule_Id == null)
            {
                _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Warning;
                _msg.StatusMessage = DataContracts.ReadOnlyMessage.strFailed;
                return(_msg);
            }

            try
            {
                DC_SchedulerServicesTasks RQ = new DC_SchedulerServicesTasks();
                RQ.Schedule_Id = RqDC_SchedulerServices.Schedule_Id;
                RQ.Operation   = RqDC_SchedulerServices.Operation ?? "SCHEDULEID";

                List <DC_SchedulerServicesTasks> existScheduleId = Get_Scheduled_Tasks(RQ).ToList();

                if (existScheduleId != null)
                {
                    if (existScheduleId.Count > 0)
                    {
                        _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Duplicate;
                        _msg.StatusMessage = RqDC_SchedulerServices.Schedule_Id.ToString() + DataContracts.ReadOnlyMessage.strAlreadyExist;
                        return(_msg);
                    }
                    else
                    {
                        isExist = false;
                    }
                }
                else
                {
                    isExist = false;
                }

                if (!isExist)
                {
                    using (ConsumerEntities context = new ConsumerEntities())
                    {
                        Supplier_Scheduled_Task objNew = new Supplier_Scheduled_Task();

                        objNew.Task_Id           = RqDC_SchedulerServices.Task_Id;
                        objNew.Schedule_Id       = RqDC_SchedulerServices.Schedule_Id;
                        objNew.Schedule_Datetime = RqDC_SchedulerServices.Schedule_Datetime;

                        if (RqDC_SchedulerServices.Api_Call_Log_Id != null)
                        {
                            objNew.Api_Call_Log_Id = RqDC_SchedulerServices.Api_Call_Log_Id;
                        }

                        objNew.Status      = RqDC_SchedulerServices.Status;
                        objNew.Create_Date = (System.DateTime)DateTime.Now;
                        objNew.Create_User = RqDC_SchedulerServices.Create_User;
                        objNew.IsActive    = RqDC_SchedulerServices.IsActive;
                        context.Supplier_Scheduled_Task.Add(objNew);
                        context.SaveChanges();
                        objNew = null;

                        _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Success;
                        _msg.StatusMessage = RqDC_SchedulerServices.Schedule_Id + DataContracts.ReadOnlyMessage.strAddedSuccessfully;
                        return(_msg);
                    }
                }
                else
                {
                    _msg.StatusCode    = DataContracts.ReadOnlyMessage.StatusCode.Duplicate;
                    _msg.StatusMessage = RqDC_SchedulerServices.Schedule_Id + DataContracts.ReadOnlyMessage.strAlreadyExist;
                    return(_msg);
                }
            }
            catch (Exception ex)
            {
                throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = "Error while adding state master", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #16
0
        public DataContracts.DC_Message AddUpdateSchedule(DataContracts.Schedulers.DC_Supplier_Schedule obj)
        {
            try
            {
                DC_Message _msg = new DC_Message();
                using (ConsumerEntities context = new ConsumerEntities())
                {
                    foreach (string strentity in obj.lstEnity)
                    {
                        if (obj.SupplierScheduleID != Guid.Empty)
                        {
                            var result = (from sup in context.Supplier_Schedule
                                          where sup.Supplier_ID == obj.Suppllier_ID && sup.Entity == strentity
                                          select sup).FirstOrDefault();

                            if (result != null)
                            {
                                result.Supplier_ID       = obj.Suppllier_ID;
                                result.ISXMLSupplier     = obj.ISXMLSupplier;
                                result.ISUpdateFrequence = obj.ISUpdateFrequence;
                                result.Recur_No          = obj.Recur_No;
                                result.MonthOfYear       = obj.MonthOfYear;
                                result.FrequencyTypeCode = obj.FrequencyTypeCode;
                                result.DateOfMonth       = obj.DateOfMonth;
                                result.DayOfWeek         = obj.DayOfWeek;
                                result.WeekOfMonth       = obj.WeekOfMonth;
                                result.StartTime         = obj.StartTime;
                                result.EndTime           = obj.EndTime;
                                result.Status            = obj.Status;
                                result.Edit_User         = obj.Edit_User;
                                result.Edit_Date         = obj.Edit_Date;
                                result.Entity            = strentity;
                                result.CronExpression    = obj.CronExpression;
                                result.IsActive          = true;
                                result.User_Role_Id      = obj.User_Role_Id;
                                if (context.SaveChanges() == 1)
                                {
                                    _msg.StatusMessage = ReadOnlyMessage.strUpdatedSuccessfully;
                                    _msg.StatusCode    = ReadOnlyMessage.StatusCode.Success;
                                }
                                else
                                {
                                    _msg.StatusMessage = ReadOnlyMessage.strFailed;
                                    _msg.StatusCode    = ReadOnlyMessage.StatusCode.Failed;
                                }
                            }
                            return(_msg);
                        }
                        else
                        {
                            Supplier_Schedule _obj = new Supplier_Schedule
                            {
                                SupplierScheduleID = Guid.NewGuid(),
                                Supplier_ID        = obj.Suppllier_ID,
                                ISXMLSupplier      = obj.ISXMLSupplier,
                                ISUpdateFrequence  = obj.ISUpdateFrequence,
                                FrequencyTypeCode  = obj.FrequencyTypeCode,
                                Recur_No           = obj.Recur_No,
                                MonthOfYear        = obj.MonthOfYear,
                                DayOfWeek          = obj.DayOfWeek,
                                DateOfMonth        = obj.DateOfMonth,
                                WeekOfMonth        = obj.WeekOfMonth,
                                StartTime          = obj.StartTime,
                                EndTime            = obj.EndTime,
                                Create_Date        = obj.Create_Date,
                                Create_User        = obj.Create_User,
                                Entity             = strentity,
                                CronExpression     = obj.CronExpression,
                                Status             = obj.Status,
                                IsActive           = true,
                                User_Role_Id       = obj.User_Role_Id,
                            };
                            context.Supplier_Schedule.Add(_obj);
                            if (context.SaveChanges() == 1)
                            {
                                _msg.StatusMessage = ReadOnlyMessage.strUpdatedSuccessfully;
                                _msg.StatusCode    = ReadOnlyMessage.StatusCode.Success;
                            }
                            else
                            {
                                _msg.StatusMessage = ReadOnlyMessage.strFailed;
                                _msg.StatusCode    = ReadOnlyMessage.StatusCode.Failed;
                            }
                        }
                    }
                }
                return(_msg);
            }
            catch (Exception ex)
            {
                throw new FaultException <DataContracts.DC_ErrorStatus>(new DataContracts.DC_ErrorStatus {
                    ErrorMessage = "Error while saving Supplier Schedule", ErrorStatusCode = System.Net.HttpStatusCode.InternalServerError
                });
            }
        }
Example #17
0
        public DC_Message Pentaho_SupplierApi_Call(Guid ApiLocationId, string CalledBy)
        {
            DC_Message dc = new DataContracts.DC_Message();

            try
            {
                using (ConsumerEntities context = new ConsumerEntities())
                {
                    var iCount = (from dlr in context.Supplier_ApiCallLog
                                  where dlr.Status == "RUNNING" && dlr.SupplierApiCallLog_Id == ApiLocationId
                                  select true).Count();

                    if (iCount > 0)
                    {
                        return(new DC_Message {
                            StatusMessage = "Transformation for GeoCode is already running.", StatusCode = ReadOnlyMessage.StatusCode.Information
                        });
                    }

                    else
                    {
                        var apilocation = (from a in context.Supplier_APILocation
                                           where a.Supplier_APILocation_Id == ApiLocationId &&
                                           a.STATUS.ToUpper() == "ACTIVE"
                                           select a.API_Path).FirstOrDefault();

                        if (!string.IsNullOrWhiteSpace(apilocation))
                        {
                            var  ApiCallId     = Guid.NewGuid();
                            Guid PentahoCallId = Guid.Empty;

                            context.Supplier_ApiCallLog.Add(new Supplier_ApiCallLog
                            {
                                SupplierApiCallLog_Id  = ApiCallId,
                                SupplierApiLocation_Id = ApiLocationId,
                                PentahoCall_Id         = PentahoCallId,
                                Create_Date            = DateTime.Now,
                                Create_User            = CalledBy,
                                Message = "Transformation Called.",
                                Status  = "SENT TO CARTE"
                            });
                            context.SaveChanges();
                            var getInsertedRow = context.Supplier_ApiCallLog.Find(ApiCallId);

                            string endpointurl = "runTrans/?trans=" + apilocation + "&api_call_id=" + ApiCallId.ToString();
                            object result;
                            DHSVCProxy.GetData(ProxyFor.Pentaho, endpointurl, typeof(DataContracts.Pentaho.DC_PentahoApiCallResult), out result);
                            DataContracts.Pentaho.DC_PentahoApiCallResult callResult = result as DataContracts.Pentaho.DC_PentahoApiCallResult;

                            if (callResult != null)
                            {
                                if (callResult.result.ToUpper() == "OK")
                                {
                                    dc.StatusMessage = callResult.message;
                                    dc.StatusCode    = ReadOnlyMessage.StatusCode.Success;
                                }
                                else
                                {
                                    dc.StatusMessage = callResult.message;
                                    dc.StatusCode    = ReadOnlyMessage.StatusCode.Danger;
                                }


                                Guid.TryParse(callResult.id, out PentahoCallId);
                                getInsertedRow.PentahoCall_Id = PentahoCallId;
                                getInsertedRow.Message        = callResult.message;
                                if (PentahoCallId == Guid.Empty)
                                {
                                    getInsertedRow.Status = "ERROR";
                                }
                                context.SaveChanges();

                                return(dc);
                            }
                            else
                            {
                                getInsertedRow.PentahoCall_Id = Guid.Empty;
                                getInsertedRow.Message        = "Api Call failed.";
                                getInsertedRow.Status         = "FAILED";
                                context.SaveChanges();

                                return(new DC_Message {
                                    StatusMessage = "Api Call failed.", StatusCode = ReadOnlyMessage.StatusCode.Failed
                                });
                            }
                        }
                        else
                        {
                            context.Supplier_ApiCallLog.Add(new Supplier_ApiCallLog
                            {
                                SupplierApiCallLog_Id  = Guid.NewGuid(),
                                SupplierApiLocation_Id = ApiLocationId,
                                PentahoCall_Id         = null,
                                Create_Date            = DateTime.Now,
                                Create_User            = CalledBy,
                                Message = "Api Location is not found.",
                                Status  = "INVALID"
                            });
                            context.SaveChanges();
                            return(new DC_Message {
                                StatusMessage = "Api Location is not found.", StatusCode = ReadOnlyMessage.StatusCode.Warning
                            });
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(new DC_Message {
                    StatusMessage = ex.Message, StatusCode = ReadOnlyMessage.StatusCode.Danger
                });
            }
        }