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); }
public Service SaveService(Service tempService, Guid idAccount) { if (string.IsNullOrEmpty(tempService.Code)) { var nextSequence = _sequenceBusiness.NextSequence(CService.SequenceCode, idAccount); var internalCode = nextSequence.Initial + "-" + nextSequence.SequenceCurrent; tempService.Code = internalCode; } tempService.IdAccount = idAccount; tempService.StatusRegister = CStatusRegister.Active; _serviceDao.InsertOrUpdate(tempService); return(tempService); }
/// <summary> /// Guardar Productos /// </summary> /// <param name="product"></param> /// <param name="idAccount"></param> public Product SaveProduct(Product product, Guid idAccount) { product.ProductCategory = null; product.Account = null; product.Customer = null; using (var transaction = Context.Database.BeginTransaction()) { try { if (string.IsNullOrEmpty(product.Code)) { var nextSequence = _sequenceBusiness.NextSequence(CProduct.SequenceCode, idAccount); product.Code = nextSequence.ToString(); } product.IdAccount = idAccount; product.StatusRegister = CStatusRegister.Active; var stateRegsiter = EntityState.Added; if (Guid.Empty != product.Id) { stateRegsiter = EntityState.Modified; } Context.Products.Add(product); Context.Entry(product).State = stateRegsiter; Context.SaveChanges(); transaction.Commit(); product = _productDao.GetProductById(product.Id); } catch (Exception) { transaction.Rollback(); product = null; } } return(product); }
public Campaign SaveCampaign(Campaign campaign, List <ListCampaignServicesViewModel> itemServices, Guid idAccount) { campaign.Supervisor = null; campaign.Customer = null; campaign.CampaignServices.Clear(); campaign.IdAccount = idAccount; campaign.StatusRegister = CStatusRegister.Active; foreach (var servicios in itemServices) { campaign.CampaignServices.Add(new CampaignServices() { IdService = servicios.IdService, StatusRegister = CStatusRegister.Active, IdAccount = idAccount }); } var stateRegister = EntityState.Added; using (var transaccion = Context.Database.BeginTransaction()) { try { if (string.IsNullOrEmpty(campaign.Code)) { var nextSequence = _sequenceBusiness.NextSequence(CCampaign.SequenceCode, idAccount); var cust = _customerDao.GetCustomerById(campaign.IdCustomer, idAccount); campaign.Code = nextSequence.ToString(); campaign.Name = nextSequence.SequenceCurrent.ToString(); campaign.Name += "-" + cust.Abbreviation.Trim() + "-" + campaign.CreationDate.ToString("MMMM", CultureInfo.InvariantCulture); } else { //elimino los CampaignServices Context.CampaignsServices.RemoveRange(Context.CampaignsServices.Where(cs => cs.IdCampaign == campaign.Id)); Context.SaveChanges(); campaign.CampaignServices.Clear(); } if (Guid.Empty != campaign.Id) { stateRegister = EntityState.Modified; } Context.Campaigns.Add(campaign); Context.Entry(campaign).State = stateRegister; Context.SaveChanges(); transaccion.Commit(); } catch (Exception) { transaccion.Rollback(); campaign = null; } } return(campaign); }
public Branch SaveBranch(Branch branch, Guid idAccount) { branch.PersonOwner.IdAccount = idAccount; branch.PersonAdministration.IdAccount = idAccount; branch.StatusRegister = CStatusRegister.Active; branch.IdAccount = idAccount; branch.Country = null; branch.Province = null; branch.District = null; branch.Parish = null; branch.Sector = null; if (branch.PersonAdministration.Id != Guid.Empty) { branch.PersonAdministration = null; } if (branch.PersonOwner.Id != Guid.Empty) { branch.PersonOwner = null; } branch.IdAccount = idAccount; branch.StatusRegister = CStatusRegister.Active; var stateRegister = Guid.Empty == branch.Id ? EntityState.Added : EntityState.Modified; using (var transaction = Context.Database.BeginTransaction()) { try { //Cuando el dueño es administrador y es un nuevo dueño if (branch.IsAdministratorOwner == CBranch.Yes && (branch.IdPersonAdministrator == Guid.Empty || null == branch.IdPersonAdministrator)) { var personOwner = branch.PersonOwner; var secuencia = _sequenceBusiness.NextSequence(CPerson.SequenceCode, idAccount); if (personOwner != null) { personOwner.Code = secuencia.ToString(); Context.Persons.Add(personOwner); Context.SaveChanges(); branch.PersonOwner = null; branch.PersonAdministration = null; branch.IdPersonAdministrator = personOwner.Id; branch.IdPersonOwner = personOwner.Id; } else { throw new ExceptionMardis("Error al insertar Persona"); } } Sequence nextSequence; if (string.IsNullOrEmpty(branch.Code)) { nextSequence = _sequenceBusiness.NextSequence(CBranch.SequenceCode, idAccount); var returnCode = nextSequence.Initial + "-" + nextSequence.SequenceCurrent; branch.Code = returnCode; } else { //Elimino los Branchustomers _branchDao.DeleteBranchCustomers(branch.Id, idAccount); } if (branch.IdPersonAdministrator == Guid.Empty) { nextSequence = _sequenceBusiness.NextSequence(CPerson.SequenceCode, idAccount); if (branch.PersonAdministration != null) { branch.PersonAdministration.Code = nextSequence.ToString(); } } if (branch.IdPersonOwner == Guid.Empty) { nextSequence = _sequenceBusiness.NextSequence(CPerson.SequenceCode, idAccount); if (branch.PersonOwner != null) { branch.PersonOwner.Code = nextSequence.ToString(); } } Context.Branches.Add(branch); Context.Entry(branch).State = stateRegister; Context.SaveChanges(); transaction.Commit(); branch = GetOne(branch.Id, idAccount); } catch (Exception ex) { transaction.Rollback(); branch = null; } } return(branch); }