示例#1
0
        public IHttpActionResult AddNewProjectActivity(AddProjectActivityDTO model)
        {
            if (!Request.Headers.Contains("apiKey"))
            {
                return(Unauthorized());
            }

            string apiKey = Request.Headers.GetValues("apiKey").First();

            if (!ApiHelper.CheckKey(apiKey))
            {
                return(Unauthorized());
            }

            try
            {
                var serviceResult = _projectService.AddNewProjectActivity(model);
                return(Ok(serviceResult));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        protected void buttonCreateProjectDetail_Click(object sender, EventArgs e)
        {
            try
            {
                var newProjectDetail = new CreateProjectDetailDTO();


                newProjectDetail.ProjectId                   = Convert.ToInt64(ProjectId.Value);
                newProjectDetail.CityId                      = Convert.ToInt32(RadDropDownListCity.SelectedValue);
                newProjectDetail.TownId                      = Convert.ToInt32(RadDropDownListTown.SelectedValue);
                newProjectDetail.SchoolTypeId                = Convert.ToInt32(RadDropDownListSchoolType.SelectedValue);
                newProjectDetail.School                      = TextBoxSchool.Text;
                newProjectDetail.DetailStartDate             = RadDatePickerProjectStartDate.SelectedDate.Value;
                newProjectDetail.ReqText                     = TextBoxMaterial.Text;
                newProjectDetail.DetailEndDate               = RadDatePickerProjectEndDate.SelectedDate.Value;
                newProjectDetail.TrnsStartDate               = DepartureDate.SelectedDate.Value;
                newProjectDetail.TransportationTypeId        = Convert.ToInt32(DepartureTransportationType.SelectedValue);
                newProjectDetail.Departure                   = DeparturePoint.Text;
                newProjectDetail.DepartureFirm               = DepartureTransportationTypeInfo.Text;
                newProjectDetail.TrnsNumOfPeople             = Convert.ToInt32(DepartureNumberOfPeople.Text);
                newProjectDetail.TrnsEndDate                 = ArrivalDate.SelectedDate.Value;
                newProjectDetail.ArrivalTransportationTypeId = Convert.ToInt32(ArrivalTransportationType.SelectedValue);
                newProjectDetail.Comeback                    = ArrivalPoint.Text;
                newProjectDetail.ComebackFirm                = ArrivalTansportationTypeInfo.Text;
                newProjectDetail.TrnsArrNumOfPeople          = Convert.ToInt32(ArrivalNumberOfPeople.Text);
                newProjectDetail.Inn            = TextBoxAccomodation.Text;
                newProjectDetail.AccNumOfPeople = Convert.ToInt32(TextBoxNumOfPep.Text);
                newProjectDetail.ProjectInfo    = TextAreaNote.Text;
                newProjectDetail.StatusId       = (int)EnumProjectStatusType.Aktif;

                ServiceResult <long> serviceResult = new ServiceResult <long>();
                var queryString = new Dictionary <string, string>();
                var response    = ApiHelper.CallSendApiMethod(ApiKeys.ProjectApiUrl, "CreateProjectDetail", queryString, newProjectDetail);
                if (!response.IsSuccessStatusCode)
                {
                    throw new Exception("Hata oluştu!");
                }
                var data = response.Content.ReadAsStringAsync().Result;
                serviceResult = JsonConvert.DeserializeObject <ServiceResult <long> >(data);

                if (serviceResult.ServiceResultType != EnumServiceResultType.Success)
                {
                    throw new Exception(serviceResult.ErrorMessage);
                }

                labelErrorMessage.Text    = "Proje detayları eklendi.";
                labelErrorMessage.Visible = true;

                var collection = RadComboBoxActivity.CheckedItems;

                if (collection.Count != 0)
                {
                    foreach (var item in collection)
                    {
                        try
                        {
                            AddProjectActivityDTO newProjectActivity = new AddProjectActivityDTO()
                            {
                                ActivityId      = Convert.ToInt32(item.Value),
                                ProjectId       = Convert.ToInt64(ProjectId.Value),
                                ProjectDetailId = Convert.ToInt64(serviceResult.Result)
                            };

                            ServiceResult <long> serviceResultActivity = new ServiceResult <long>();
                            var queryStringActivity = new Dictionary <string, string>();
                            var responseActivity    = ApiHelper.CallSendApiMethod(ApiKeys.ProjectApiUrl, "AddNewProjectActivity", queryStringActivity, newProjectActivity);
                            if (!responseActivity.IsSuccessStatusCode)
                            {
                                throw new Exception("Hata oluştu!");
                            }
                            var dataActivity = responseActivity.Content.ReadAsStringAsync().Result;
                            serviceResultActivity = JsonConvert.DeserializeObject <ServiceResult <long> >(dataActivity);

                            if (serviceResultActivity.ServiceResultType != EnumServiceResultType.Success)
                            {
                                throw new Exception(serviceResultActivity.ErrorMessage);
                            }
                        }
                        catch (Exception ex)
                        {
                            labelErrorMessage.Text    = ex.Message;
                            labelErrorMessage.Visible = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                labelErrorMessage.Text    = ex.Message;
                labelErrorMessage.Visible = true;
            }
        }