Exemple #1
0
        public IHttpActionResult PostNode(string NodeAlias, [FromBody] ContractorApiModel contractorInfo)
        {
            try
            {
                contractorInfo.NodeAlias = NodeAlias;

                if (ModelState.IsValid)
                {
                    if (!string.IsNullOrEmpty(contractorInfo.NativeId))
                    {
                        unitOfWork.ContractorApiModel.AddOrUpdate(contractorInfo);

                        try
                        {
                            unitOfWork.Save();
                        }
                        catch (Exception ex)
                        {
                            ///TODO: parse exception details to determine duplication and other errors
                            ModelState.AddModelError("Model", "Попытка записать дублирующиеся данные. Контрагент с такими кодами уже существует.");
                            return(BadRequest(ModelState));
                        }
                    }
                    return(Ok());
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Exemple #2
0
        public IHttpActionResult GetByCodes([FromBody] ContractorApiModel inputContractorInfo)
        {
            ContractorApiModel outputContractorInfo = unitOfWork.ContractorApiModel.GetByCodes(inputContractorInfo);

            if (outputContractorInfo == null)
            {
                return(NotFound());
            }

            return(Ok(outputContractorInfo));
        }
Exemple #3
0
        public IHttpActionResult Get(string NodeAlias, string NativeId)
        {
            //if (!User.IsInRole("api"))
            //    return Content(HttpStatusCode.Forbidden, "Unauthorized request");

            ContractorApiModel contractorInfo = unitOfWork.ContractorApiModel.GetByNativeId(NativeId, NodeAlias);

            if (contractorInfo == null)
            {
                return(NotFound());
            }

            return(Ok(contractorInfo));
        }
Exemple #4
0
 public IHttpActionResult ValidateModel([FromBody] ContractorApiModel contractorInfo)
 {
     try
     {
         if (ModelState.IsValid)
         {
             return(Ok());
         }
         else
         {
             return(BadRequest(ModelState));
         }
     }
     catch (Exception ex)
     {
         return(InternalServerError(ex));
     }
 }
Exemple #5
0
        public Contractor GetByCodes(ContractorApiModel contractorInfo)
        {
            var q = db.Contractors.Include("Address").Include("Links")
                    .Where(c => c.TypeOfCounterparty == contractorInfo.TypeOfCounterparty &&
                           c.CountryOfRegistration == contractorInfo.CountryOfRegistration);

            switch (contractorInfo.CountryOfRegistration)
            {
            case Data.CountryEnum.UA:

                if (contractorInfo.TypeOfCounterparty == Data.TypeOfCounterpartyEnum.Entrepreneur)
                {
                    q = q.Where(c => c.INN == contractorInfo.INN);
                }

                else if (contractorInfo.TypeOfCounterparty == Data.TypeOfCounterpartyEnum.LegalEntity)
                {
                    q = q.Where(c => c.OKPO == contractorInfo.OKPO);
                }

                break;

            case Data.CountryEnum.RU:

                q = q.Where(c => c.INN == contractorInfo.INN);
                break;

            default:

                q = q.Where(c => c.INN == contractorInfo.INN);
                break;
            }

            if (contractorInfo.IsBranch)
            {
                q = q.Where(c => c.BranchCode == contractorInfo.BranchCode);
            }

            return(q.FirstOrDefault());
        }