public int CreateOrganization(OrganizationInsertModel model)
        {
            string sql = "insert into public.\"Organization\" (\"Name\",\"PersonFullName\",\"ContactEmail\",\"ActiveStatus\") " +
                         " values(@Name, @PersonFullName, @ContactEmail, 1) RETURNING \"Id\"";

            return(_connection.ExecuteScalar <int>(sql, model));
        }
        public IActionResult OrganizationNew(string id)
        {
            if (GetUserId() != 0)
            {
                return(Redirect("/Home/Dashboard"));
            }
            int realId = WebUtilities.DecryptId(id, GetUserName(), GetOrganizationId());

            if (realId > 0)
            {
                var organizationModel         = operations.Organization.GetOrganizationList(0, 99, realId).FirstOrDefault();
                OrganizationInsertModel model = new OrganizationInsertModel();
                model.AddressBindings = organizationModel.AddressBindings;
                model.ContactEmail    = organizationModel.ContactEmail;
                model.Id             = organizationModel.Id;
                model.HashedId       = WebUtilities.EncryptId(model.Id, GetUserName(), GetOrganizationId());
                model.Name           = organizationModel.Name;
                model.PersonFullName = organizationModel.PersonFullName;
                return(View(model));
            }
            else
            {
                OrganizationInsertModel model = new OrganizationInsertModel();
                return(View(model));
            }
        }
        public void UpdateOrganization(OrganizationInsertModel model)
        {
            string sql = "update public.\"Organization\" set \"Name\" = @Name , \"PersonFullName\" = @PersonFullName , \"ContactEmail\" = @ContactEmail where \"Id\" = @Id";

            _connection.Execute(sql, model);
        }
        public IActionResult OrganizationNew(OrganizationInsertModel model)
        {
            if (GetUserId() != 0)
            {
                return(Redirect("/Home/Dashboard"));
            }
            model.CloseModal = false;
            if (String.IsNullOrEmpty(model.Name) || String.IsNullOrEmpty(model.PersonFullName) || String.IsNullOrEmpty(model.ContactEmail) || String.IsNullOrEmpty(model.AddressBindings))
            {
                TempData["Notification"] = WebUtilities.InsertNotification("İsim , ad , mail adresi , adresler boş geçilemez.");
                return(View(model));
            }

            if (String.IsNullOrEmpty(model.HashedId))
            {
                int returnValue = operations.Organization.CreateOrganization(model);

                List <AddressBindingInsertModel> insertModel = new List <AddressBindingInsertModel>();
                string[] arrAddressBinding = model.AddressBindings.Split(',');
                for (int i = 0; i < arrAddressBinding.Length; i++)
                {
                    insertModel.Add(new AddressBindingInsertModel {
                        Address = arrAddressBinding[i].Trim().Split(':')[0], Port = Convert.ToInt32(arrAddressBinding[i].Trim().Split(':')[1]), OrganizationId = returnValue
                    });
                }

                operations.Organization.InsertAddressBindings(returnValue, insertModel);

                if (returnValue > 0)
                {
                    model.HashedId           = WebUtilities.EncryptId(returnValue, GetUserName(), GetOrganizationId());
                    TempData["Notification"] = WebUtilities.InsertNotification("Organizasyon başarılı bir şekilde eklenmiştir.");
                    model.CloseModal         = true;
                    return(View(model));
                }
                else
                {
                    TempData["Notification"] = WebUtilities.InsertNotification("Ekleme sırasında bir hata oluştu lütfen sistem yöneticisine başvurunuz.");
                    model.CloseModal         = false;
                    return(View(model));
                }
            }
            else
            {
                int realId = WebUtilities.DecryptId(WebUtility.UrlDecode(model.HashedId), GetUserName(), GetOrganizationId());
                if (realId > 0)
                {
                    List <AddressBindingInsertModel> insertModel = new List <AddressBindingInsertModel>();
                    string[] arrAddressBinding = model.AddressBindings.Split(',');
                    for (int i = 0; i < arrAddressBinding.Length; i++)
                    {
                        insertModel.Add(new AddressBindingInsertModel {
                            Address = arrAddressBinding[i].Trim().Split(':')[0], Port = Convert.ToInt32(arrAddressBinding[i].Trim().Split(':')[1]), OrganizationId = realId
                        });
                    }
                    operations.Organization.DeleteAddressBinding(realId);
                    operations.Organization.InsertAddressBindings(realId, insertModel);
                    operations.Organization.UpdateOrganization(model);
                    return(View(model));
                }
                else
                {
                    TempData["Notification"] = WebUtilities.InsertNotification("Hatalı işlem lütfen pencereyi kapatıp tekrar deneyiniz.");
                    model.CloseModal         = false;
                    return(View(model));
                }
            }
            // return View();
        }