コード例 #1
0
        // GET: Organizations/UpdateOrganizations
        public void UpdateOrganizations()
        {
            var Credentials = (from u in _db.Users
                               where u.UserName == User.Identity.Name
                               select new { MerUser = u.MerUserUsername, MerPass = u.MerUserPassword }).First();
            var Organizations = from o in _db.Organizations
                                select o;


            foreach (var Organization in Organizations)
            {
                MerApiGetSubjekt Request = new MerApiGetSubjekt()
                {
                    Id         = Credentials.MerUser,
                    Pass       = Credentials.MerPass,
                    Oib        = "99999999927",
                    PJ         = "",
                    SoftwareId = "MojCRM-001",
                    SubjektPJ  = Organization.MerId.ToString()
                };

                string MerRequest = JsonConvert.SerializeObject(Request);

                using (var Mer = new WebClient()
                {
                    Encoding = Encoding.UTF8
                })
                {
                    Mer.Headers.Add(HttpRequestHeader.ContentType, "application/json");
                    Mer.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8");
                    var _Response = Mer.UploadString(new Uri(@"https://www.moj-eracun.hr/apis/v21/getSubjektData").ToString(), "POST", MerRequest);
                    _Response = _Response.Replace("[", "").Replace("]", "");
                    MerGetSubjektDataResponse Result = JsonConvert.DeserializeObject <MerGetSubjektDataResponse>(_Response);

                    string postalCode = Result.Mjesto.Substring(0, 5).Trim();
                    string mainCity   = Result.Mjesto.Substring(6).Trim();

                    Organization.SubjectName     = Result.Naziv;
                    Organization.FirstReceived   = Result.FirstReceived;
                    Organization.FirstSent       = Result.FirstSent;
                    Organization.ServiceProvider = (Organizations.ServiceProviderEnum)Result.ServiceProviderId;
                    Organization.UpdateDate      = DateTime.Now;
                    Organization.LastUpdatedBy   = User.Identity.Name;
                    Organization.MerUpdateDate   = DateTime.Now;
                    Organization.OrganizationDetail.MainAddress    = Result.Adresa;
                    Organization.OrganizationDetail.MainPostalCode = Int32.Parse(postalCode);
                    Organization.OrganizationDetail.MainCity       = mainCity;
                    Organization.MerDeliveryDetail.TotalSent       = Result.TotalSent;
                    Organization.MerDeliveryDetail.TotalReceived   = Result.TotalReceived;
                }
            }
            _db.SaveChanges();
        }
コード例 #2
0
        // GET: Organization/UpdateOrganization/1
        public ActionResult UpdateOrganization(int merId)
        {
            var credentials = (from u in _db.Users
                               where u.UserName == User.Identity.Name
                               select new { MerUser = u.MerUserUsername, MerPass = u.MerUserPassword }).First();
            var organization = _db.Organizations.Find(merId);

            using (var mer = new WebClient()
            {
                Encoding = Encoding.UTF8
            })
            {
                MerApiGetSubjekt request = new MerApiGetSubjekt()
                {
                    Id         = credentials.MerUser,
                    Pass       = credentials.MerPass,
                    Oib        = "99999999927",
                    PJ         = "",
                    SoftwareId = "MojCRM-001",
                    SubjektPJ  = organization.MerId.ToString()
                };

                string merRequest = JsonConvert.SerializeObject(request);

                mer.Headers.Add(HttpRequestHeader.ContentType, "application/json");
                mer.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8");
                var response = mer.UploadString(new Uri(@"https://www.moj-eracun.hr/apis/v21/getSubjektData").ToString(), "POST", merRequest);
                response = response.Replace("[", "").Replace("]", "");
                MerGetSubjektDataResponse result = JsonConvert.DeserializeObject <MerGetSubjektDataResponse>(response);

                string postalCode = String.Empty;
                string mainCity   = String.Empty;

                if (organization.OrganizationDetail.MainCountry == OrganizationDetail.CountryIdentificationCodeEnum.Hr)
                {
                    postalCode = result.Mjesto.Substring(0, 5).Trim();
                    mainCity   = result.Mjesto.Substring(6).Trim();
                }
                else
                {
                    postalCode = "00000";
                    mainCity   = result.Mjesto;
                }

                organization.SubjectName     = result.Naziv;
                organization.FirstReceived   = result.FirstReceived;
                organization.FirstSent       = result.FirstSent;
                organization.ServiceProvider = (Organizations.ServiceProviderEnum)result.ServiceProviderId;
                organization.UpdateDate      = DateTime.Now;
                organization.LastUpdatedBy   = User.Identity.Name;
                organization.MerUpdateDate   = DateTime.Now;
                organization.OrganizationDetail.MainAddress    = result.Adresa;
                organization.OrganizationDetail.MainPostalCode = Int32.Parse(postalCode);
                organization.OrganizationDetail.MainCity       = mainCity;
                organization.MerDeliveryDetail.TotalSent       = result.TotalSent;
                organization.MerDeliveryDetail.TotalReceived   = result.TotalReceived;

                _db.ActivityLogs.Add(new ActivityLog()
                {
                    ActivityType         = ActivityLog.ActivityTypeEnum.Organizationupdate,
                    Department           = ActivityLog.DepartmentEnum.MojCrm,
                    InsertDate           = DateTime.Now,
                    IsSuspiciousActivity = false,
                    Module      = ActivityLog.ModuleEnum.Organizations,
                    ReferenceId = merId,
                    User        = User.Identity.Name,
                    Description = @"Korisnik " + User.Identity.Name + " je izvršio sinkronizaciju podataka tvrtke s Moj-eRačuna. Stari podaci su: Naziv tvrtke: "
                                  + organization.SubjectName + ", Adresa: " + organization.OrganizationDetail.MainAddress + ", Poštanski broj: " + organization.OrganizationDetail.MainPostalCode
                                  + ", Grad: " + organization.OrganizationDetail.MainCity + "."
                });
            }
            _db.SaveChanges();

            return(Redirect(Request.UrlReferrer.ToString()));
        }
コード例 #3
0
        // GET: Organizations/GetOrganizations
        public JsonResult GetOrganizations(Guid user)
        {
            var credentials = new { MerUser = "", MerPass = "" };

            if (String.IsNullOrEmpty(user.ToString()))
            {
                credentials = (from u in _db.Users
                               where u.UserName == User.Identity.Name
                               select new { MerUser = u.MerUserUsername, MerPass = u.MerUserPassword }).First();
            }
            else
            {
                credentials = (from u in _db.Users
                               where u.Id == user.ToString()
                               select new { MerUser = u.MerUserUsername, MerPass = u.MerUserPassword }).First();
            }

            var referencedId = (from o in _db.Organizations
                                orderby o.MerId descending
                                select o.MerId).First();
            int createdCompanies = 0;
            var Response         = new MerGetSubjektDataResponse()
            {
                Id    = 238,
                Naziv = "Test Klising d.o.o."
            };

            referencedId++;
            try
            {
                while (Response != null)
                {
                    MerApiGetSubjekt request = new MerApiGetSubjekt()
                    {
                        Id         = credentials.MerUser,
                        Pass       = credentials.MerPass,
                        Oib        = "99999999927",
                        PJ         = "",
                        SoftwareId = "MojCRM-001",
                        SubjektPJ  = referencedId.ToString()
                    };

                    string merRequest = JsonConvert.SerializeObject(request);

                    using (var mer = new WebClient()
                    {
                        Encoding = Encoding.UTF8
                    })
                    {
                        mer.Headers.Add(HttpRequestHeader.ContentType, "application/json");
                        mer.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8");
                        var _Response = mer.UploadString(new Uri(@"https://www.moj-eracun.hr/apis/v21/getSubjektData").ToString(), "POST", merRequest);
                        _Response = _Response.Replace("[", "").Replace("]", "");
                        MerGetSubjektDataResponse result = JsonConvert.DeserializeObject <MerGetSubjektDataResponse>(_Response);
                        if (result == null)
                        {
                            break;
                        }
                        else
                        {
                            _db.Organizations.Add(new Organizations
                            {
                                MerId               = result.Id,
                                SubjectName         = result.Naziv,
                                SubjectBusinessUnit = result.PoslovnaJedinica,
                                VAT             = result.Oib,
                                FirstReceived   = result.FirstReceived,
                                FirstSent       = result.FirstSent,
                                ServiceProvider = (Organizations.ServiceProviderEnum)result.ServiceProviderId,
                                InsertDate      = DateTime.Now
                            });
                            _db.MerDeliveryDetails.Add(new MerDeliveryDetails
                            {
                                MerId         = result.Id,
                                TotalSent     = result.TotalSent,
                                TotalReceived = result.TotalReceived,
                                AcquiredReceivingInformation = string.Empty
                            });
                            _db.OrganizationDetails.Add(new OrganizationDetail
                            {
                                MerId             = result.Id,
                                MainAddress       = result.Adresa,
                                MainPostalCode    = Int32.Parse(result.Mjesto.Substring(0, 5).Trim()),
                                MainCity          = result.Mjesto.Substring(6).Trim(),
                                OrganizationGroup = OrganizationGroupEnum.Nema
                            });
                            _db.SaveChanges();
                        }
                    }
                    referencedId++;
                    createdCompanies++;
                }
            }
            catch (NullReferenceException e)
            {
                _db.LogError.Add(new LogError
                {
                    Method         = @"Organizations - GetOrganizations",
                    Parameters     = referencedId.ToString(),
                    Message        = @"Greška kod preuzimanja podataka o tvrtki",
                    InnerException = e.InnerException?.ToString(),
                    Request        = e.Source,
                    User           = User.Identity.Name,
                    InsertDate     = DateTime.Now
                });
                _db.SaveChanges();
            }

            return(Json(new { Status = "OK", CreatedCompanies = createdCompanies }, JsonRequestBehavior.AllowGet));
        }