コード例 #1
0
        public TaskCampaign SaveTaskRegister(string inputTask, Guid idAccount)
        {
            TaskCampaign result;
            var          taskModelView = JSonConvertUtil.Deserialize <TaskRegisterModelView>(inputTask);
            var          task          = new TaskCampaign()
            {
                IdAccount    = idAccount,
                IdBranch     = taskModelView.IdBranch,
                IdCampaign   = taskModelView.IdCampaign,
                IdMerchant   = taskModelView.IdMerchant,
                IdStatusTask = taskModelView.IdStatusTask,
                Description  = taskModelView.Description,
                StartDate    = taskModelView.StartDate,
                Campaign     = null,
                Branch       = null
            };

            if (taskModelView.IdStatusTask == Guid.Empty)
            {
                var status = _statusTaskBusiness.GeStatusTaskByName(CTask.StatusPending);
                task.IdStatusTask = status.Id;
            }

            using (var transaccion = Context.Database.BeginTransaction())
            {
                try
                {
                    if (string.IsNullOrEmpty(task.Code))
                    {
                        var nextSequence = _sequenceBusiness.NextSequence(CTask.SequenceCode,
                                                                          idAccount);

                        task.Code = nextSequence.ToString();
                    }

                    var stateRegister = EntityState.Added;

                    if (Guid.Empty != task.Id)
                    {
                        stateRegister = EntityState.Modified;
                    }

                    Context.TaskCampaigns.Add(task);

                    Context.Entry(task).State = stateRegister;

                    //graba cambios en COntexto
                    Context.SaveChanges();
                    transaccion.Commit();
                    result = GetTaskByIdForRegisterPage(task.Id, idAccount);
                }
                catch
                {
                    transaccion.Rollback();
                    result = null;
                }
            }

            return(result);
        }
コード例 #2
0
        public string SaveDetalle(Invoice_detail _insertData, string numFact, int idAccount, int iduser, string option, string campaign, string statusStask)
        {
            bool                     status       = false;
            Branch                   branch       = null;
            Person                   person       = null;
            Central_Warenhouse       centralw     = new Central_Warenhouse();
            Invoice                  invoice      = new Invoice();
            IQueryable <Invoice>     invoices     = Enumerable.Empty <Invoice>().AsQueryable();
            IQueryable <Distributor> distributors = Enumerable.Empty <Distributor>().AsQueryable();
            TaskCampaign             task         = null;
            int idDistributor = 0;

            try
            {
                invoices = Context.Invoices.Where(i => i.NUMBER == numFact);

                if (invoices.Count() > 0)
                {
                    invoice      = invoices.First();
                    distributors = Context.Distributors.Where(d => d.RUC == invoice.RUC_CEDULA);

                    if (invoice.IDINVOICE != 0)
                    {
                        invoice.Invoice_details = new List <Invoice_detail>();
                        invoice.Invoice_details.Add(_insertData);
                    }
                }
                else
                {
                    return("No puedo actualizar la información en la base de datos. Revise la Información");
                }

                Context.SaveChanges();

                centralw.IDPRODUCTO    = _insertData.IDPRODUCTO;
                centralw.BALANCE       = (decimal)_insertData.AMOUNT;
                centralw.DESCRIPTION   = _insertData.DESCRIPTION;
                centralw.MOVEMENT      = "1";
                centralw.IDDISTRIBUTOR = distributors.Count() > 0 ? distributors.First().IDDISTRIBUTOR : 1;

                Context.Central_Warenhouses.Add(centralw);
                Context.SaveChanges();
                Context.Query <string>($@"EXEC dbo.sp_actualiza_central_warehouse_app @idproducto = {centralw.IDPRODUCTO}, @iddistribuidor = {centralw.IDDISTRIBUTOR}");

                return("");
            }
            catch (Exception e)
            {
                return("No puedo actualizar la información en la base de datos. Revise la Información");

                throw;
            }
            finally
            {
                status = true;
            }
        }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="taskCampaign"></param>
        /// <returns></returns>
        public static MyTaskViewModel ToMyTaskViewModel(TaskCampaign taskCampaign)
        {
            if (taskCampaign.IdTaskNoImplementedReason == null)
            {
                taskCampaign.IdTaskNoImplementedReason = Guid.Empty;
            }

            return(new MyTaskViewModel()
            {
                IdTask = taskCampaign.Id,
                TaskCode = taskCampaign.Code,
                IdCampaign = taskCampaign.IdCampaign,
                IdAccount = taskCampaign.IdAccount,
                CampaignName = taskCampaign.Campaign.Name,
                IdCustomer = taskCampaign.Campaign.IdCustomer,
                CustomerName = taskCampaign.Campaign.Customer.Name,
                CustomerCode = taskCampaign.Campaign.Customer.Code,
                IdMerchant = taskCampaign.IdMerchant,
                MerchantName = taskCampaign.Merchant.Person.Name,
                MerchantSurname = taskCampaign.Merchant.Person.SurName,
                DateCreation = taskCampaign.DateCreation,
                StartDate = taskCampaign.StartDate,
                IdBranch = taskCampaign.IdBranch,
                BranchName = taskCampaign.Branch.Name,
                BranchLongitude = taskCampaign.Branch.LenghtBranch,
                BranchLatitude = taskCampaign.Branch.LatitudeBranch,
                IdStatusTask = taskCampaign.IdStatusTask,
                StatusTaskName = taskCampaign.StatusTask.Name,
                BranchOwnerName = taskCampaign.Branch.PersonOwner.Name,
                BranchCity = taskCampaign.Branch.District.Name,
                BranchSector = taskCampaign.Branch.Zone,
                BranchParish = taskCampaign.Branch.Parish.Name,
                BranchNeighborhood = taskCampaign.Branch.Neighborhood,
                BranchMainStreet = taskCampaign.Branch.MainStreet,
                BranchSecundaryStreet = taskCampaign.Branch.SecundaryStreet,
                BranchReference = taskCampaign.Branch.Reference,
                IdTaskNotImplementedReason = (Guid)taskCampaign.IdTaskNoImplementedReason,
                CommentTaskNotImplemented = taskCampaign.CommentTaskNoImplemented,
                Description = taskCampaign.Description,
                //TODO: Revisar acceso para revisar estos datos
                ServiceCollection = GetServiceCollection(taskCampaign.Campaign.CampaignServices),
                BranchTypeBusiness = taskCampaign.Branch.TypeBusiness,
                BranchExternalCode = taskCampaign.Branch.ExternalCode,
                BranchMardisCode = taskCampaign.Branch.Code,
                Route = taskCampaign.Route,
                BranchLabel = taskCampaign.Branch.Label,
                BranchOwnerPhone = taskCampaign.Branch.PersonOwner.Phone,
                BranchOwnerMobile = taskCampaign.Branch.PersonOwner.Mobile,
                BranchProvince = taskCampaign.Branch.Province.Name,
                BranchOwnerDocument = taskCampaign.Branch.PersonOwner.Document
            });
        }
コード例 #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="taskCampaign"></param>
 /// <returns></returns>
 public static TaskRegisterModelView ConvertTaskToTaskRegisterModelView(TaskCampaign taskCampaign)
 {
     return(new TaskRegisterModelView()
     {
         Id = taskCampaign.Id,
         BranchName = taskCampaign.Branch.Name,
         Code = taskCampaign.Code,
         Description = taskCampaign.Description,
         IdBranch = taskCampaign.IdBranch,
         IdCampaign = taskCampaign.IdCampaign,
         IdMerchant = taskCampaign.IdMerchant,
         IdStatusTask = taskCampaign.IdStatusTask,
         NameCampaign = taskCampaign.Campaign.Name,
         NameMerchant = taskCampaign.Merchant.Profile.Name
     });
 }
コード例 #5
0
        public bool ModifyTask(TaskCampaign task)
        {
            using (var transaccion = Context.Database.BeginTransaction())
            {
                try
                {
                    Context.TaskCampaigns.Add(task);

                    Context.Entry(task).State = EntityState.Modified;

                    Context.SaveChanges();
                    transaccion.Commit();
                }
                catch (Exception)
                {
                    transaccion.Rollback();
                    return(false);
                }
            }
            return(true);
        }
コード例 #6
0
 public static TaskRegisterViewModel ToTaskRegisterViewModel(TaskCampaign task)
 {
     return(new TaskRegisterViewModel()
     {
         BranchName = task.Branch.Name,
         Description = task.Description,
         Id = task.Id,
         IdBranch = task.IdBranch,
         IdCampaign = task.IdCampaign,
         IdMerchant = task.IdMerchant,
         StartDate = task.StartDate,
         IdStatusTask = task.IdStatusTask,
         Code = task.Code,
         DateCreation = task.DateCreation,
         Route = task.Route,
         AggregateUri = task.AggregateUri,
         UserValidator = task.UserValidator,
         ExternalCode = task.ExternalCode,
         DateValidation = task.DateValidation
     });
 }
コード例 #7
0
        /// <summary>
        /// Clase para guardar información que proviene de un archivo excel
        /// </summary>
        /// <param name="branchPerson"> El parametero tiene informacion de persona y local</param>
        /// <returns></returns>
//        public  bool SaveBranchMigrate(IList<CBranch> branchPerson, Guid idAccount, Guid idcampaing)
//        {
//            bool status = false;
//            Branch branch = null;
//            Person person = null;
//#pragma warning disable CS0219 // La variable 'task' está asignada pero su valor nunca se usa
//            TaskCampaign task = null;
//#pragma warning restore CS0219 // La variable 'task' está asignada pero su valor nunca se usa
//            try
//            {


//            foreach (var item in branchPerson.Where(x => x.Code != "NA"))
//            {

//                using (var transaction = Context.Database.BeginTransaction())
//                {

//                    try
//                    {
//                        var Getbrach = _brachDao.GetBranchByExternalCode(item.Code, idAccount);


//                        if (Getbrach == null)
//                        {
//                            var stateRegister = EntityState.Added;


//                            person = new Person();
//                            var ci = item.Document == null ? item.Code : item.Document;
//                            person.Code = item.Code;
//                            person.Name = item.PersonName;
//                            person.Phone = item.phone;
//                            person.Mobile = item.Mobil;
//                            person.Document = ci;
//                            person.SurName = "";
//                            person.TypeDocument = "CI";
//                            person.StatusRegister = "A";
//                            person.IdAccount = idAccount;



//                            //Context.SaveChanges();
//                            //Guid idperson = person.Id;
//                            branch = new Branch();

//                            branch.Code = item.Code;
//                            branch.ExternalCode = item.Code;
//                            branch.IdCountry = Guid.Parse("BE7CF5FF-296B-464D-82FA-EF0B4F48721B");// Pais ecuador
//                            branch.IdProvince = item.IdProvice;
//                            branch.IdDistrict = item.IdDistrict;
//                            branch.IdParish = item.IdParish;
//                            branch.IdSector = item.IdSector;
//                            branch.Name = item.BranchName;
//                            branch.Label = item.BranchName;
//                            branch.LatitudeBranch = item.LatitudeBranch;
//                            branch.LenghtBranch = item.LenghtBranch;
//                            branch.MainStreet = item.BranchStreet;
//                            branch.Reference = item.BranchReference;
//                            branch.Zone = "";
//                            branch.TypeBusiness = item.BranchType;
//                            branch.Neighborhood = "-";
//                            branch.SecundaryStreet = "-";
//                            branch.NumberBranch = "-";
//                            branch.IdPersonAdministrator = person.Id;
//                            branch.IdPersonOwner = person.Id;
//                                branch.IsAdministratorOwner = "SI";
//                            branch.IdAccount = idAccount;
//                            branch.IMEI_ID = item.IMEI;
//                            branch.RUTAAGGREGATE = item.Rute;
//                            branch.ESTADOAGGREGATE = "S";
//                            branch.routeDate = DateTime.Now;
//                            //Context.Branches.Add(branch);

//                             branch.PersonAdministration.IdAccount=
//                                Context.Persons.Add(person);
//                                Context.Entry(person).State = stateRegister;
//                                Context.SaveChanges();
//                                //task = new TaskCampaign();
//                                //task.Code = item.Code;
//                                //task.Description = "Agregada Para Gestión de Rutas";
//                                //task.ExternalCode = item.Code;
//                                //task.IdAccount = idAccount;
//                                //task.IdCampaign = idcampaing;
//                                //task.IdBranch = branch.Id;
//                                //task.IdMerchant = _userDao.GetMerchants(idAccount).First().Id;
//                                //task.IdStatusTask = Guid.Parse("7B0D0269-1AEF-4B73-9089-20E53698FF75");
//                                //task.StatusRegister = "A";
//                                //task.Route = item.Rute;

//                                //Context.TaskCampaigns.Add(task);
//                                //Context.Entry(task).State = stateRegister;
//                                //Context.SaveChanges();


//                                transaction.Commit();
//                        }
//                        else
//                        {
//                            var stateRegister = Guid.Empty == Getbrach.Id ? EntityState.Added : EntityState.Modified;


//                            Getbrach.IMEI_ID = item.IMEI;
//                            Getbrach.RUTAAGGREGATE = item.Rute;
//                            Getbrach.MainStreet = item.BranchStreet;
//                            Getbrach.Name = item.BranchName;
//                            Getbrach.Label = item.BranchName;
//                            Getbrach.Reference = item.BranchReference;
//                            Getbrach.LenghtBranch = item.LenghtBranch;
//                            Getbrach.LatitudeBranch = item.LatitudeBranch;
//                            Getbrach.ESTADOAGGREGATE = "S";
//                            Getbrach.routeDate = DateTime.Now;
//                            Context.Branches.Add(Getbrach);
//                            Context.Entry(Getbrach).State = stateRegister;
//                            Context.SaveChanges();

//                            //task = new TaskCampaign();
//                            //task.Code = item.Code;
//                            //task.Description = "Agregada Para Gestión de Rutas";
//                            //task.ExternalCode = item.Code;
//                            //task.IdAccount = idAccount;
//                            //task.IdCampaign = idcampaing;
//                            //task.IdBranch = Getbrach.Id;
//                            //task.IdMerchant = _userDao.GetMerchants(idAccount).First().Id;
//                            //task.IdStatusTask = Guid.Parse("7B0D0269-1AEF-4B73-9089-20E53698FF75");
//                            //task.StatusRegister = "A";
//                            //task.Route = item.Rute;

//                            //Context.TaskCampaigns.Add(task);

//                            //Context.Entry(task).State = EntityState.Modified;

//                            //Context.Entry(task).State = EntityState.Added;

//                            //Context.SaveChanges();



//                            transaction.Commit();
//                        }

//                    }

//                    catch (Exception ex)

//                    {
//                        transaction.Rollback();
//                        return false;
//                    }
//                    finally{
//                        status = true;


//                    }
//                }
//            }
//            }
//            catch (Exception)
//            {
//                return false;
//                throw;
//            }
//            finally
//            {
//                status=true;
//            }
//            return status;

//        }
//    }
//}


        public bool SaveBranchMigrate(IList <Branch> branchPerson, Guid idAccount, Guid idcampaing)
        {
            bool   status = false;
            Branch branch = null;
            Person person = null;

#pragma warning disable CS0219 // La variable 'task' está asignada pero su valor nunca se usa
            TaskCampaign task = null;
#pragma warning restore CS0219 // La variable 'task' está asignada pero su valor nunca se usa
            try
            {
                var _dataUpdate = branchPerson.Where(x => x.Id != Guid.Parse("00000000-0000-0000-0000-000000000000"));
                if (_dataUpdate.Count() > 0)
                {
                    Context.Branches.UpdateRange(_dataUpdate);
                    Context.SaveChanges();
                }
                var _datainsert = branchPerson.Where(x => x.Id == Guid.Parse("00000000-0000-0000-0000-000000000000"));
                if (_datainsert.Count() > 0)
                {
                    Context.Branches.AddRange(_datainsert);
                    Context.SaveChanges();
                }



                return(true);
            }
            catch (Exception e)
            {
                return(false);

                throw;
            }
            finally
            {
                status = true;
            }
        }
コード例 #8
0
        public string SaveInvoive(Invoice _insertData, int idAccount, int iduser, string option, string campaign, string statusStask)
        {
            bool                 status   = false;
            Branch               branch   = null;
            Person               person   = null;
            Central_Warenhouse   centralw = new Central_Warenhouse();
            Invoice              invoice  = new Invoice();
            IQueryable <Invoice> invoices = Enumerable.Empty <Invoice>().AsQueryable();
            TaskCampaign         task     = null;

            try
            {
                invoices = Context.Invoices.Where(i => i.NUMBER == _insertData.NUMBER);

                if (invoices.Count() > 0)
                {
                    invoice = invoices.First();
                }
                else
                {
                    invoice = _insertData;
                    Context.Invoices.Add(invoice);
                }

                Context.SaveChanges();
                return("");
            }
            catch (Exception e)
            {
                return("No puedo actualizar la información en la base de datos. Revise la Información");

                throw;
            }
            finally
            {
                status = true;
            }
        }
コード例 #9
0
        public string SaveProductNutriMigrate(Invoice _insertData, int idAccount, int iduser, string option, string campaign, string statusStask)
        {
            bool                 status   = false;
            Branch               branch   = null;
            Person               person   = null;
            Central_Warenhouse   centralw = new Central_Warenhouse();
            Invoice              invoice  = new Invoice();
            IQueryable <Invoice> invoices = Enumerable.Empty <Invoice>().AsQueryable();
            TaskCampaign         task     = null;

            try
            {
                invoices = Context.Invoices.Where(i => i.NUMBER == _insertData.NUMBER);

                if (invoices.Count() > 0)
                {
                    invoice = invoices.First();

                    if (invoice.IDINVOICE != 0)
                    {
                        invoice.Invoice_details = new List <Invoice_detail>();
                        invoice.Invoice_details.Add(_insertData.Invoice_details.First());
                    }
                }
                else
                {
                    invoice = _insertData;
                    Context.Invoices.Add(invoice);
                }

                Context.SaveChanges();

                if (Context.Central_Warenhouses.Where(c => c.IDPRODUCTO == _insertData.Invoice_details.First().IDPRODUCTO).Count() > 0)
                {
                    centralw = Context.Central_Warenhouses.Where(c => c.IDPRODUCTO == _insertData.Invoice_details.First().IDPRODUCTO).First();

                    if (centralw.ID_CENTRALW != 0)
                    {
                        centralw.BALANCE = centralw.BALANCE + (decimal)_insertData.Invoice_details.First().AMOUNT;
                    }
                }
                else
                {
                    centralw.IDPRODUCTO = _insertData.Invoice_details.First().IDPRODUCTO;
                    //centralw.ID = _insertData.Invoice_details.First().IDPRODUCTO;
                    centralw.IDDISTRIBUTOR = 1;
                    centralw.BALANCE       = (decimal)_insertData.Invoice_details.First().AMOUNT;
                    centralw.DESCRIPTION   = _insertData.Invoice_details.First().DESCRIPTION;
                    centralw.MOVEMENT      = "1";
                    Context.Central_Warenhouses.Add(centralw);
                }

                Context.SaveChanges();

                return("");
            }
            catch (Exception e)
            {
                return("No puedo actualizar la información en la base de datos. Revise la Información");

                throw;
            }
            finally
            {
                status = true;
            }
        }
コード例 #10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="branchPerson"></param>
        /// <param name="idAccount"></param>
        /// <param name="iduser"></param>
        /// <param name="option"></param>
        /// <param name="campaign"></param>
        /// <param name="statusStask"></param>
        /// <param name="datestart"></param>
        /// <returns></returns>
        public Branch GuardarlocalesCreadoAPPPedido(Branch branchPerson, int idAccount, string iduser, int option, int campaign, int statusStask, DateTime datestart)
        {
            bool   status = false;
            Branch branch = null;
            Person person = null;

#pragma warning disable CS0219 // La variable 'task' está asignada pero su valor nunca se usa
            TaskCampaign task = null;
#pragma warning restore CS0219 // La variable 'task' está asignada pero su valor nunca se usa
            try
            {
                //var rutas = branchPerson.Select(x => x.RUTAAGGREGATE).Distinct();



                if (branchPerson.Id != 0)
                {
                    Context.Branches.Update(branchPerson);
                    Context.SaveChanges();
                }
                //var _datainsert = branchPerson.Where(x => x.Id == Guid.Parse("00000000-0000-0000-0000-000000000000"));
                if (branchPerson.Id == 0)
                {
                    Context.Branches.Add(branchPerson);
                    Context.SaveChanges();
                }

                if (option.Equals(2))
                {
                    TaskCampaign _modelTask = new TaskCampaign();

                    var IMEID = branchPerson.IMEI_ID.Split('-');
                    if (IMEID.Length > 0)
                    {
                        if (IMEID[0] != "0")
                        {
                            try
                            {
                                var idpollster = Context.Pollsters.Where(x => x.IMEI == IMEID[0] &&
                                                                         (datestart >= x.Fecha_Inicio && datestart <= x.Fecha_Fin) &&
                                                                         x.idaccount.ToString().ToUpper() == idAccount.ToString().ToUpper() &&
                                                                         x.Status == CStatusRegister.Active
                                                                         );
                                _modelTask.idPollster = idpollster.FirstOrDefault().Id;
                            }
                            catch (Exception e)
                            {
                                return(null);

                                throw;
                            }
                        }
                    }

                    _modelTask.IdAccount        = idAccount;
                    _modelTask.IdBranch         = branchPerson.Id;
                    _modelTask.IdCampaign       = campaign;
                    _modelTask.IdMerchant       = Guid.Parse(iduser);
                    _modelTask.IdStatusTask     = statusStask;
                    _modelTask.Route            = branchPerson.RUTAAGGREGATE;
                    _modelTask.DateCreation     = DateTime.Now;
                    _modelTask.StartDate        = datestart;
                    _modelTask.DateModification = DateTime.Now;
                    _modelTask.Code             = branchPerson.Code;
                    _modelTask.ExternalCode     = branchPerson.Code;
                    _modelTask.Description      = "Tarea creada desde carga de rutas";
                    _modelTask.StatusMigrate    = "M";
                    Context.TaskCampaigns.Add(_modelTask);
                    Context.SaveChanges();
                }

                return(branchPerson);
            }
            catch (Exception e)
            {
                return(null);

                throw;
            }
            finally
            {
                status = true;
            }
        }