public IActionResult Post([FromBody] CustomerBusinessUnit customerBusinessUnit)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(BadRequest());
         }
         return(Ok(_unitOfWork.CustomerBusinessUnit.Insert(customerBusinessUnit)));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, "Internal server error: " + ex.Message));
     }
 }
 public IActionResult Put([FromBody] CustomerBusinessUnit customerBusinessUnit)
 {
     try
     {
         if (ModelState.IsValid && _unitOfWork.CustomerBusinessUnit.Update(customerBusinessUnit))
         {
             return(Ok(new { Message = "Línea de negocio se ha actualizado" }));
         }
         else
         {
             return(BadRequest());
         }
     }
     catch (Exception ex)
     {
         return(StatusCode(500, "Internal server error: " + ex.Message));
     }
 }
Example #3
0
        public IActionResult Post([FromBody] CustomerSave customerSave)
        {
            int idCustomer = 0;

            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            using (var transaction = new TransactionScope())
            {
                try
                {
                    string idUser   = User.Claims.Where(c => c.Type.Equals(ClaimTypes.PrimarySid)).FirstOrDefault().Value;
                    string fullName = customerSave.Customer.FirstName + (string.IsNullOrEmpty(customerSave.Customer.MiddleName) ? "" : " " + customerSave.Customer.MiddleName) + customerSave.Customer.LastName + (string.IsNullOrEmpty(customerSave.Customer.MiddleLastName) ? "" : " " + customerSave.Customer.MiddleLastName);
                    customerSave.Customer.IdUser = int.Parse(idUser);
                    idCustomer = _unitOfWork.Customer.Insert(customerSave.Customer);
                    IdentificationType it = _unitOfWork.IdentificationType.GetById(customerSave.Customer.IdIdentificationType);
                    //Insertamos en customerbusinessunit
                    if (customerSave.IdBusinessUnitDetail > 0)
                    {
                        CustomerBusinessUnit customerBusinessUnit = new CustomerBusinessUnit
                        {
                            IdBusinessUnitDetail = customerSave.IdBusinessUnitDetail,
                            IdCustomer           = idCustomer,
                            State = "A",
                            Year  = DateTime.Now.Year.ToString()
                        };
                        _unitOfWork.CustomerBusinessUnit.Insert(customerBusinessUnit);
                    }
                    //Insertamos la gestión realizada
                    Management management = new Management
                    {
                        ManagementType    = "G",
                        CreationUser      = int.Parse(idUser),
                        StartDate         = DateTime.Now,
                        EndDate           = DateTime.Now,
                        State             = "R",
                        Subject           = "SE CREA CLIENTE " + it.Alias + " # " + customerSave.Customer.IdentificationNumber + " " + fullName,
                        ManagementPartner = "C",
                        IdCustomer        = idCustomer,
                        IsExtra           = false,
                    };
                    _unitOfWork.Management.Insert(management);
                    transaction.Complete();
                }
                catch (System.Data.SqlClient.SqlException sqlex)
                {
                    if (sqlex.Number.Equals(2601))
                    {
                        return(StatusCode(500, "No se puede registrar al cliente mas de una vez"));
                    }
                    return(StatusCode(500, "Internal server error: " + sqlex.Message));
                }
                catch (Exception ex)
                {
                    transaction.Dispose();
                    return(StatusCode(500, "Internal server error: " + ex.Message));
                }
            }
            return(Ok(idCustomer));
        }